Çevreye verdiğim rahatsızlıktan dolayı özür dilerim.. Yavaşlık sorununu çözdüm: TCNO için index atmayı unutmuşum :)
Selamlar, Nuri Akman Nuri Akman <nuriak...@gmail.com>, 14 Kas 2018 Çar, 00:37 tarihinde ş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