İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Bu Mysql Sorgusunu Nasıl Hızlandırabilirim ?

OsmanAtabey

0
İyinet Üyesi
Katılım
26 Mart 2005
Mesajlar
922
Reaction score
4
PHP:
$s1 = "SELECT `kategori1`,`kategori2` FROM `tablo` WHERE `kategori1` = '" . $kat1 . "' GROUP BY `kategori2`";
$s2 = mysql_query($s1);

while ($al = mysql_fetch_array($s2)) {
echo $al['kategori2_ye_ait_alt_kategoriler'] . "<br />";
}

Yukarıdaki sorgudan aldığım tekrarlanan kategori isimlerini anlık olarak bu şekilde ekrana basıyorum. ( Bu şekilde yapmam gerekiyor çünkü kategori listesi devamlı yenileniyor )

Bu sorgulamayı localde 150 bin kayıt bulunan bir tabloda test ettiğimde 2 ile 7 saniye aralığında bir sonuç veriyor.

Yukarıdaki sorgulamayı başka bir şekilde yapmam mümkün müdür ?
Ayrıca 150 bin kayıtlı tablo için bu sorgulama süresi normal midir ?

Not :

- Bu sorgu 30 bin kayıt bulunan tabloda yeterince hızlı çalışıyor.
 

OsmanAtabey

0
İyinet Üyesi
Katılım
26 Mart 2005
Mesajlar
922
Reaction score
4
Hayır tüm sütünlar string ve hiçbir sütunda index yok. Çünkü index attığımda eklenen veriler ayrı indexlere paylaştırıldığı için sorun çıkıyor veya ben yapamadım. İndexsiz bir çözüm olursa daha iyi olur :)
 

metadige

0
İyinet Üyesi
Katılım
23 Aralık 2005
Mesajlar
354
Reaction score
4
Arkadaşım yanlış düşünüyorsun bence, 150.000 kayıtlı bir tabloda index kullanmayıp, sonra nasıl performansı arttırırım demek garip olmuş biraz. İndex kullanman gerekir, ve arkadaşın söylediği gibi string olarak değil int olarak eklemen daha iyi olur.
 

OsmanAtabey

0
İyinet Üyesi
Katılım
26 Mart 2005
Mesajlar
922
Reaction score
4
metadige sistem bu şekilde işliyor ve bu sisteme göre çözüm bulmak istiyorum yoksa index yapmak problem değil. Ayrıca dediğim gibi ID dışında hiçbir sütün int değil ve olması da mümkün değil.
 

superweb

0
İyinet Üyesi
Katılım
29 Mart 2010
Mesajlar
332
Reaction score
9
Konum
İstanbul
table yapınızı değiştirmeden optimizasyon elde etmek zor fakat donanım çözümü de optimizasyon sağlayacaktır. mysql çoğunlukla disk işlemi yapar. diskiniz ne kadar hızlı ise mysqliniz o kadar hızlıdır. çok daha hızlı bir disk alabilir veya mysqli ramdiskte çalıştırabilirsiniz.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst