rag.usp_EmbedQueue_Dequeue
yordamDB-12 · değişiklik 9.10.2026 · Obje aramaya dön
İfadeler
6 ifade ·
137.633 çalışma ·
toplam 921,8 sn
| Sorgu (query_hash) | Çalışma | Ort. süre (ms) | Ort. CPU (ms) | Ort. okuma | Süredeki pay |
|---|---|---|---|---|---|
| 0x55AE145AECF68E88 | 46.962 | 12,3 | 11,9 | 445 | %62,7 |
| 0x66560D987E891315 | 19.225 | 13,5 | 13,4 | 982 | %28,2 |
| 0x3D924CAB8808081C | 2.402 | 19,3 | 19,2 | 811 | %5 |
| 0x8DCD67E99351E436 | 49.364 | 0,5 | 0,2 | 5 | %2,7 |
| 0x3E245355DE2FBFF5 | 455 | 21,1 | 21,0 | 1.434 | %1 |
| 0x78A87A1C102838E6 | 19.225 | 0,2 | 0,2 | 2 | %0,3 |
Bağımlılıklar
Doğrudan referanslar (sys.sql_expression_dependencies); dinamik SQL ve geç bağlanan adlar görünmeyebilir.aynı veritabanıbaşka veritabanılinked server
| Yön | Nesne | Tür | Kapsam |
|---|---|---|---|
| kullanıyor | DBA.fn_Now | fonksiyon | aynı veritabanı |
| kullanıyor | rag.EmbedQueue | tablo | aynı veritabanı |
| kullanan | test_RagStore.test dequeue en eskileri alir Running yapar ve denemeyi artirir | yordam | aynı veritabanı |
| kullanan | test_RagStore.test suresi dolmus lease yeniden alinir hakki biten Failed olur | yordam | aynı veritabanı |
CREATE PROCEDURE rag.usp_EmbedQueue_Dequeue
@BatchSize int, @LeaseSeconds int
AS
BEGIN
SET NOCOUNT ON;
SET XACT_ABORT ON;
BEGIN TRAN;
WITH c AS (
SELECT TOP (@BatchSize) *
FROM rag.EmbedQueue WITH (READPAST, UPDLOCK, ROWLOCK)
WHERE Status = 'Queued' OR (Status = 'Running' AND LeaseUntilUtc < DBA.fn_Now())
-- Vaka/KB önce: bekçi her gün binlerce profili kuyruğa alır, onaydan sonra gelen vaka onların ardında beklemesin
ORDER BY CASE SourceType WHEN 'Profile' THEN 1 ELSE 0 END, QueueID
)
UPDATE c SET Status = 'Running', Attempt = Attempt + 1, LeaseUntilUtc = DATEADD(second, @LeaseSeconds, DBA.fn_Now())
OUTPUT inserted.QueueID, inserted.SourceType, inserted.SourceRef, inserted.Attempt;
COMMIT;
END;
Bu nesnenin analizleri
Kayıt yok
Bu nesne için analiz yok.