15 milyondan 20 milyona kadar satır içeren bir MySql tablom var. Geçmişteki performansını% 100'ün üzerinde artırmak için veri bölümlemesini kullandım. Ancak, şu sorguyu çalıştırdığımda, queru'nun çalışması için 60 saniyenin üzerinde bir zaman aldı.MySQL sorgusu çok yavaş
select state, gender, count(*) from big_data where gender in ('Sugar Daddy','Sugar Baby') group by state, gender
Sonucu buldum açıklamada
[SQL]select state, gender, count(*) from big_data where gender in ('Sugar Daddy','Sugar Baby') group by state, gender
Affected rows: 0
Time: 59.390s
: zamanın % 99 geçici tabloya kopyalanması aldı! Bu sorgunun performansını nasıl artırabilirim?
Şema & açıklar: Bir IN
yana
Bir IN kullandığınızdan emin olmak için birden çok değerlendirme yapmak zorunda olduğu gibi yavaş olacaktır. Bir dize tipi sütun üzerinde özel. Başka bir şekilde devam edemez misin? Masanızda endeks var mı? –
Dizine ihtiyacınız var (cinsiyet, durum). Lütfen tablo şemasını ve EXPLAIN sonucunu gönderin. –
Yep, dizin tanımlandı. –