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