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 <[email protected]>

    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
    [email protected]
    http://liste.linux.org.tr/mailman/listinfo/linux-programlama





  -- 
  Elvin Şiriyev
  http://siriyev.net



------------------------------------------------------------------------------


  _______________________________________________
  Linux-programlama mailing list
  [email protected]
  http://liste.linux.org.tr/mailman/listinfo/linux-programlama
_______________________________________________
Linux-programlama mailing list
[email protected]
http://liste.linux.org.tr/mailman/listinfo/linux-programlama

Cevap