Bu komutun en kritik olanı durum sütunudur ve mysql'de listelenen durumlar esas olarak şunlardır:
Kontrol tablosu Veri sayfasını kontrol ediyorum (bu otomatik). Kapatma masaları Tabloda değiştirilen veriler diske atılır ve tükenmiş tablo kapatılır. Bu hızlı bir işlemdir, eğer değilse disk alanının dolu olup olmadığını veya diskin yük altında olup olmadığını kontrol etmelisiniz. Connect Out Çoğaltma köle sunucusu ana sunucuya bağlanıyor. Diskteki tmp tablosuna kopyalama Geçici sonuç kümesi tmp_table_size'den büyük olduğundan, geçici tablo bellek içi depolamadan disk depolamaya dönüştürülerek bellek tasarrufu sağlanır. TMP tablosu oluşturma Bazı sorgu sonuçlarını saklamak için geçici bir tablo oluşturuluyor. Ana tablodan silinme Sunucu, çoklu tablo silme işleminin ilk bölümünü gerçekleştiriyor ve ilk tabloyu yeni silmiş. Referans tablolarından silme Sunucu, çoklu tablo silme işleminin ikinci kısmını gerçekleştiriyor; bu da diğer tablolardan kayıtları silmek. Dökme masaları FLUSH TABLOLARINI yapıyorum, diğer iş parçacıklarının veri tablosunu kapatmasını bekliyorum. Öldürüldü Bir öldürme isteği bir iş parçacığına gönderilirse, iş başlığı öldürme bayrağını kontrol eder ve sonraki öldürme isteğini bırakır. MySQL, her ana döngüde öldürme bayraklarını kontrol eder, ancak bazı durumlarda iş parçacığı kısa bir süre için ölebilir. Eğer iş parçacığı başka bir iş parçacığı tarafından kilitlenmişse, kilit açıldığı anda öldürme talebi hemen devreye girer. Kilitli Diğer sorularla kilitlendi. Veri gönderme SELECT sorgusunun kaydı, sonuçlar istemciye gönderilirken işlenir. Grup için sıralama GRUP GRUP için Sıralama. Sırayla sıralama Sıralama ORDER BY için yapılıyor. Açılış masaları Bu süreç, başka faktörler engellenmedikçe hızlı olmalıdır. Örneğin, bir veri tablosu başka bir iş parçacığı tarafından ALTER TABLE veya LOCK TABLE ifadesi çalıştırılmadıkça açılamaz. Bir masa açmaya çalışıyorum. Kopyaların kaldırılması SELECT DISTINCT sorgusu yürütülüyor, ancak MySQL önceki aşamadaki tekrarlanan kayıtları optimize edemiyor. Bu nedenle, MySQL sonuçları istemciye göndermeden önce tekrarlanan kayıtları tekrar kaldırmalıdır. Yeniden açma masası Bir masada bir kilit elde edilir, ancak tablo yapısı değiştirildikten sonra bu kilitin değiştirilmesi gerekir. Kilidi zaten açtım, veri sayfasını kapattım ve veri tablosunu yeniden açmaya çalışıyorum. Sıralamayla onarım Düzeltme talimatı, bir indeks oluşturmak için sıralamadır. Keycache ile onarım Düzeltme direktifi, indeks önbelleğini kullanarak yeni indeksleri teker teker oluşturmaktır. Tamir yoluyla sıralamadan daha yavaş olur. Güncelleme için satırlarda arama Uygun kayıtlar güncellenmek üzere belirleniyor. GÜNCELLEME ilgili kaydı değiştirmeden önce yapılmalıdır. Uyumak Müşterinin yeni bir talep göndermesini bekliyorum. Sistem kilidi Harici bir sistem kilidi almak için bekliyorum. Aynı anda çalışan mysqld sunucuları aynı tabloyu talep etmiyorsa, harici sistem kilitleri –skip-external-locking parametresi eklenerek engellenebilir. Kilidi yükseltme INSERT DELAYED, yeni bir kayıt eklemek için bir kilit tablosu almaya çalışıyor. Güncelleme Eşleşen kayıtları arıyor ve değiştiriyor. Kullanıcı Kilidi GET_LOCK() bekliyor. Masa beklemek Başlık, veri sayfası yapısının değiştirildiği ve yeni yapıyı almak için yeniden açılması gerektiği bildirildi. Sonra, veri tablosunu yeniden açmak için, diğer tüm iş parçacıklarının tabloyu kapatmasını beklemeniz gerekir. Bu bildirim aşağıdaki durumlarda gerçekleşir: TABLOLARI FLUSH tbl_name, TABLOYU DEĞIŞTIR, TABLOYU YENİŞTİR, TAMIR TABLOSU, ANALIZ TABLOSU veya TABLOYU OPTIMIZE ET. Handler Insert'i bekliyor INSERT DELAYED tüm bekleyen eklemeleri işledi ve yeni bir talep bekliyor. Çoğu durum hızlı işlemlere karşılık gelir; bir iş parçacığı birkaç saniye aynı durumda kalırsa, kontrol edilmesi gereken bir sorun olabilir. |