Arama butonu
Bu konudaki kullanıcılar: 1 misafir
0
Cevap
424
Tıklama
0
Öne Çıkarma
sql performansı hakkında
L
10 yıl
Yüzbaşı
Konu Sahibi

aşağıda iki tane sql sorgum var. Bu sorguları explain komutuyla incelemesini yaptığımda ummadığım bazı sonuçlar ortaya çıktı.

SELECT SQL_NO_CACHE  
count(id) as sayi,
cinsiyet_id
FROM secmen
WHERE id in (SELECT id FROM secmen WHERE il_ad_id=1 OR il_ad_id = 2)
GROUP BY cinsiyet_id


SQL açıklaması aşağıda;
< Resime gitmek için tıklayın >
sorgu süresi = 51sn

SELECT SQL_NO_CACHE  
count(cinsiyet_id) as sayi,
cinsiyet_id
FROM (
SELECT cinsiyet_id
FROM secmen
WHERE il_ad_id=1 OR il_ad_id = 2
) t
GROUP BY cinsiyet_id


SQL açıklaması ağaşıda;
< Resime gitmek için tıklayın >
sorgu süresi = 13sn



1.sıradaki SQL sorgusunun daha hızlı çalışması gerekmiyor mu? INNODB motoru kullanıyorum ve 10 milyona yakın kayıt var. Explain komutuyla açıklamasına bakarsak 1.sıradaki sorgunun Using temporary; Using filesort gibi ekstra bellek gerektiren işlemlere girmediği halde neden bu kadar uzun sürdüğünü anlayamadım?
< Resime gitmek için tıklayın >< Resime gitmek için tıklayın >



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.