Ne yazık ki "ORDER BY deger=2" gibi bir SQL cümlecigi bir islem yapmıyor. SQL sorunsuz calisiyor ama "ORDER BY deger" ile aynı sonucları üretiyor.
Orijinal SQL Ornegi:
SELECT tablo1.id AS id, sehir, il, ilce, semt,
IF(sehir=34, '1', '0') AS s_sehir,
IF(ilce=1111, '1', '0') AS s_ilce,
IF(semt=9999, '1', '0') AS s_semt
FROM tablo1, tablo2 WHERE tablo1.grup='1' AND tablo1.durum='1' AND tablo1.islem_id=tablo2.id AND tablo2.durum='1' ORDER BY s_sehir DESC, s_ilce DESC, s_semt DESC
Saygılar
----- Original Message -----
From: Elvin Şiriyev
To: Özgür yazılımlarla çeşitli dillerde yazılım geliştirme
Sent: Thursday, March 05, 2009 1:38 PM
Subject: [Linux-programlama] Re: MySQL IF() performans problemi
SELECT isim, deger, IF (deger=2, "1", "0") AS siralama FROM tablo ORDER BY
siralama DESC
sorgusunu bir de
SELECT isim, deger FROM tablo ORDER BY deger=2
olarak deneyin. uygulamadaki sorguyu gönderirseniz belki önemli düzenlemeler yapılabilr.
2009/3/5 OKAN <liste_at_ari-tech.com>
Merhabalar, Mysql uzerinde belli alanlar eger istedigim degerde ise once almak icin asagidaki gibi IF deyimli bir sorgu kullanıyorum.
SELECT isim, deger, IF (deger=2, "1", "0") AS siralama FROM tablo ORDER BY
siralama DESC
Yani deger='2' olan satırları başa alıyorum. Gercek uygulamada bu IF degimlerinden 6 adet kullandım ve istedigim veriye ulaşabiliyorum.
Ancak ne yazık ki, bu Mysql için çok pahalı bir yontem, Mysql performansı boyle bir sorguda cok kotu bir durum alıyor. (1 sorgu yaklaşık 1sn suruyor ve mysql anında yavaşlıyor)
Amacım, belirledigim 6 alanda eger istedigim kayıtlar varsa onları on plana almak. Bunu performans sorununu aşarak nasıl başarabilirim?
Şimdiden ilgilenen arkadaşlara teşekkür ederim.
OKAN ARI
_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
--
Elvin Şiriyev
http://siriyev.net
------------------------------------------------------------------------------
_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Received on Thu 05 Mar 2009 - 12:35:54 EET