BT Sözlüğü › Veritabanları › SKIP LOCKED

SKIP LOCKED

Veritabanları Svenska → Güncellendi: 2026-10-11

Satır kilitlerken başka bir işlem tarafından kilitlenmiş satırları beklemek yerine atlayan SQL ifadesi (FOR UPDATE SKIP LOCKED). Ek bir kuyruk sistemi olmadan, güvenilir bir iş kuyruğunu doğrudan veritabanında kurmanın temeli.

Sorun: birkaç işçi süreci bir tablodan iş çeker. SKIP LOCKED olmadan ya aynı satırda çakışırlar ya da sıraya girip beklerler. SELECT ... FOR UPDATE SKIP LOCKED LIMIT 1 ile her işçi kilitlenmemiş bir sonraki işi alır: temiz paralellik, yinelenen iş yok, bekleme yok. PostgreSQL (9.5+), MySQL (8.0+) ve Oracle destekler. Kullanım: “kuyruk olarak veritabanı” — basit arka plan işleri için Redis/RabbitMQ’yu devreye sokmaktan kaçının. River gibi kütüphaneler buna dayanır. Ödünleşim: orta ölçekte mükemmel çalışır; çok yüksek verimde özel bir kuyruk sistemi gerekebilir. Sıklıkla bir status sütunu ve bekleyen satırlar üzerinde kısmi indeksle birlikte kullanılır.

← Sözlüğe dön