Sıralama, sıralama sütununda bir indeks varsa bir mysql dizini kullanıyor mu? Ayrıca endeks başka hangi şeyler için kullanılır?Mysql sıralamak için endeksi kullanıyor mu?
Sütunların birleşik ve ayrı dizinlerinde ne fark var?
Sıralama, sıralama sütununda bir indeks varsa bir mysql dizini kullanıyor mu? Ayrıca endeks başka hangi şeyler için kullanılır?Mysql sıralamak için endeksi kullanıyor mu?
Sütunların birleşik ve ayrı dizinlerinde ne fark var?
Evet, MySQL, sıralı sütunlara göre sıralandığında bilgileri sıralamak için dizininizi kullanır.
Ayrıca, SELECT maddesine eklediğiniz tüm sütunlarda dizinler varsa, MySQL verileri tablodan değil, dizinden (daha hızlı) yüklemez.
kombine ve ayrı endeksler arasındaki fark MySQL sorgu başına birden bir endeksi kullanamazsınız, bu nedenle sorgu birçok sütunlara göre filtreler ve doğru endeksli istiyorum eğer, bir oluşturmanız gerekecektir tüm sütunların birleştirilmiş endeksi.
Ancak, tablolarınıza çok sayıda dizin eklemeden önce, her dizinin ekleme/güncelleştirme/silme işlemlerinin daha yavaş geçtiğini unutmayın.
Ayrıca yüksek gerçekten limite MySQL kullanmak mümkün bilmek derinlemesine bu konularda ve diğer ipuçları size ihtiyacı bir sürü tüm kapsayacak O'Reilly tarafından High Performance MySQL kitap öneriyoruz.
Dizinler yalnızca sıralama için değil, SELECTING için kullanılır.
E.g. select * from mytable where id = 1
, varsa sütunda bir dizin kullanır.
[Sipariş Üzerine Optimizasyon] (http://dev.mysql.com/doc/refman/5.0/en/order-by-optimization.html) – Jacob
İndeks kullanarak mysql cinsinden sıralamak, sütun üzerinde indeks eklemek olarak önemsiz değildir. sıralama için kullanılır. Okuma tarihi: https://www.percona.com/blog/2006/09/01/mysql-order-by-limit-performance-optimization/ http://dev.mysql.com/doc/refman /5.7/en/order-by-optimization.html Ayrıca mysql, sorgu başına 1 indeksi yalnızca indeksi akıllıca kullanabilir. –