Her bir kayıt için hesap yaptığı için olabilir, view yaratıp denediniz mi?
14 Kas 2018 Çar, saat 00:39 tarihinde Nuri Akman <nuriak...@gmail.com> şunu yazdı: > 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 > Linux-programlama@liste.linux.org.tr > https://liste.linux.org.tr/mailman/listinfo/linux-programlama > Liste kurallari: http://liste.linux.org.tr/kurallar.php > -- Omer Barlas Mobil bir cihazdan gönderilmiştir, imla ve anlam hataları olabilir.
_______________________________________________ Linux-programlama mailing list Linux-programlama@liste.linux.org.tr https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php