sql >> Database teknologi >  >> RDS >> Sqlserver

SQL Server, ved hjælp af en tabel som en kø

Den eneste måde at opnå en ikke-pooling blokerende kø er WAITFOR ( MODTAG) . Hvilket indebærer Service Broker-køer, med alle de ekstra overhead.

Hvis du bruger almindelige tabeller som køer du vil ikke være i stand til at opnå non-polling blokering. Du skal polle køen ved at bede om en dequeue-handling, og hvis den ikke returnerer noget, skal du sove og prøve igen senere.

Jeg er bange for, at jeg vil være uenig med Andomar her:mens hans svar fungerer som et generisk spørgsmål "er der nogen rækker i tabellen?" når det kommer til kø, grundet den travle karakter af overlappende kø/dekø, er det en (næsten) garanteret dødvande under belastning at tjekke for rækker som denne. Når det kommer til at bruge tabeller som kø, skal man altid holde sig til de grundlæggende enqueue/dequeue operationer og ikke prøve smarte ting.



  1. Forskelle i uger mellem PHP og MySQL

  2. PHP MySQL-forespørgsel mest populær inden for de sidste 24 timer

  3. Sådan ændres linjefarve dynamisk baseret på, at værdien er lavere end tidligere i highcharts

  4. Mysql-kommandoen blev ikke fundet i OS X 10.7