Herkese Merhaba, Arkadaşlar, MySQL tablomda 10M+ kayıt var. Aradığım TC Kimlik No, son 3 aya ait kayıtlar arasında var mı diye bakıyorum. Varsa, en yeni kaydı getirmeye çalışıyorum. Kullandığım SQL şöyle:
SELECT * FROM islemler WHERE tckimlikno = '12345678901' AND islem_tarihi >= DATE_ADD(NOW(), INTERVAL -3 MONTH) ORDER BY kayit_id DESC LIMIT 1 tckimlikno (varchar), islem_tarihi(date) ve kayit_id(int) için index tanımım var. *DURUM 1:* Aranan kritere uygun TC'nin kayıtlarda *olması* halinde, sorgu süresi 0.002 saniye ve 230 rows (explain'den bakında) görünüyor. Her şey güzel :) *DURUM 2:* Aranan kritere uygun TC'nin kayıtlarda *olmaması* halinde, sorgu süresi 8 saniye ve 25 rows (explain'den bakında) görünüyor. *Nasıl oluyor da bu sorgunun sonuçlanması bu kadar uzun sürüyor?* Selamlar, Nuri Akman
_______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
