ç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
