Bunu birkaç kez gördüm ama EXPLAIN sorgu planını yanlış yorumlayabilirim.Mysql'de, kullanılmayan dizinler neden sorgu planını etkiler?
Sanırım bir tablom var (col1, col2). Hem col1 hem de col2'de başka bir tabloyla birleştirmek istiyorum. Yani bir dizin oluşturuyorum (col1, col2). Bazen, EXPLAIN, dizinin kullanılmadığını gösterir. Belki başka bir verimsiz indeks kullanılır ya da hiç yok.
Başka bir dizin (col1) oluşturursam, ilk dizin (col1, col2) kullanılır.
Daha önce bunlara hiç kimsenin başına gelen oldu mu? Bunun neden olabileceği hakkında bir fikrin var mı?
Benim teorim, kullanılmayan dizinin, ilk dizini kullanmak için sorgu planına işaret eden tablo hakkında daha kesin istatistikler sağlamasıdır. Ama bunun doğru olup olmadığını ya da nasıl kanıtlayacağını anlamak için mysql'in iç işleyişine yeterince aşina değilim.
Bu mantıklıdır. Maalesef, veri tabanım, sorguları ve dizinlerimle sorunu yeniden oluşturamıyorum - muhtemelen veri istatistikleri kullanım sırasında güncellendi. Bu doğru cevap gibi görünüyor, ancak verilerimle kanıtlayamıyorum. Başkalarına cevap verme şansı vereyim, ama bu doğru görünüyor. – kane