İki veya daha fazla veritabanı işleminin birbirinin kilitlediği satırları güncellemek için sonsuza kadar birbirini beklemesi ve sistemin kilitlenmesi durumudur.
\n\nNasıl Çalışır ve Temel Prensipleri Nelerdir?
\nÖrneğin İşlem 1 A tablosunu kilitleyip B'yi isterken, İşlem 2 B tablosunu kilitleyip A'yı bekler; veritabanı motoru Deadlock tespit edip işlemlerden birini iptal eder.
\n\nNeden Kritik Öneme Sahiptir?
\nSipariş anında kullanıcıların işlemlerinin 'Deadlock found when trying to get lock' hatasıyla yarım kalmasına yol açar.
\n\nEn İyi Uygulama ve Kullanım İpuçları
\nTüm transaction bloklarında tabloları ve satırları her zaman aynı sıralamayla (Örn: Önce Sepet, Sonra Bakiye) güncelleyin; transaction sürelerini kısa tutun.
\n\nSık Yapılan Hatalar ve Kaçınılması Gerekenler
\nKullanıcı onay bekleyen uzun form işlemlerini açık bir veritabanı transaction kilidi içinde tutmak.
Sıkça Sorulan Sorular (SSS)
Veritabanı Kilitlenmesi Nedir? (Database Deadlock) hakkında en sık yöneltilen sorular ve mühendislik ekibimizin uzman yanıtları:
Modern motorlar (InnoDB) otomatik tespit eder ve en az maliyetli transaction'ı geri alarak (rollback) kilitlenmeyi kırar.
Deadlock hatası yakalandığında işlemi arka planda 3 kez tekrar deneyen (Retry) mekanizmalar yazılmalıdır.