çok fazla belirtmemişsiniz ama SQL i komutu kesinlikle optimize etmeniz, ve
şu an kullandığınız tabloyu bir şekilde bölmeniz gerekiyor..   15 milyon
kayıt, tahmini  en azından 4-5 gb dan fazla veri var demektir. optimize
kesinlikle şart..

mysql eger 48 saat den fazla sürede çalışıyorsa,

mysqltuner.pl ile alternatif opsiyonları aktif edebilirsiniz.
(http://www.faqforge.com/linux/optimize-mysql-performance-with-mysqltuner/)


sql sorgulamasında kriter olarak tarih kullanmayın bu cevabın çok fazla
uzamasına neden olur, mecburi olarak tarih sorgulaması yapmak zorundayım
derseniz. alternatif olarak ayrı bir tabloda her günün index aralığını
kaydedin. bu tablodan Id  - index aralığını bularak indexler üzerinden
sorgulamanızı yapın.

eğer Client tarafında hesaplama varsa,,  Client tarafında hesaplatıp DB ye
yeniden yazdırmak yerine Triger kullanmak size zaman ve performans
kazandıracaktır.

son bir şey, makineniz çok hızlı olabilir ama disklerin hızını da
unutmayın..  DB için donanımsal RAID 5 ve üzeri,,
eğer imkanınız varsa, SSD disk..


Saygılarımla
Vedat ELÇİGİL




2011/12/10 [email protected] <[email protected]>

>  Merhaba arkadaşlar ;
>
> Mysql de 15 milyon olan ve ayda 100 bin artan bir tablomuz var 27 alandan
> oluşan ve sorgulama arayüzünü delphi7 de yaptım;
>
> 5 alana göre arama yapıyorum kullanıcı 5 alanadan istediğini veri girerek
> sorgulama yapabiliyor, dönen adet 500 ü geçiyorsa kriteri artırımasını
> istiyorum
>
> ancak geri dönüş süreleri çok uzun oluyor minimum 1 dk 40 sn civarı
>
> bu süreyi nasıl minimuma indirebilirm ?
>
> denediklerim
>
> -- tabloyu myisam ile oluşturdum 1dk 40sn -3 dkcivarı sonuç aldım
> -- innodb ye çevirdim durum biraz garipleşti 30 sn ile  7 dk arasında
> değişti
> -- tabloyu bölemiyorum sabit bir kriterim yok (sene gibi 2004, 2005)
>
> aramalarımda 3 alan için "like %" diğer iki alan için "=" kullanıyorum,
> 5 alanıda ayrı ayrı indexledim.
>
>
> sistem özellikleri ;
> mysql  Ver 14.14 Distrib 5.1.49, for debian-linux-gnu (x86_64) using
> readline 6.1
>
> test makinam : Intel(R) Core(TM) i5 CPU 650  @ 3.20GHz 3GB RAM
>
> tüm denemeleri bu sistemde yaptım.
>
>
> _______________________________________________
> Linux-sunucu E-Posta Listesi
> [email protected]
>
> Liste kurallarını http://liste.linux.org.tr/kurallar.php  bağlantısından
> okuyabilirsiniz;
>
> Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen
> e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1
> dakika içinde üyeliğinizi sonlandırabilirsiniz.
> https://liste.linux.org.tr/mailman/listinfo/linux-sunucu
>
>
_______________________________________________
Linux-sunucu E-Posta Listesi
[email protected]

Liste kurallarını http://liste.linux.org.tr/kurallar.php  bağlantısından 
okuyabilirsiniz;

Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen 
e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1 
dakika içinde üyeliğinizi sonlandırabilirsiniz.
https://liste.linux.org.tr/mailman/listinfo/linux-sunucu

Cevap