Re: [Linux-programlama] MYSQL Sorgusunda istediğim sonucu alamıyorum

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Erdal YAZICIOGLU (eyazicioglu@yahoo.com)
Date: Tue 07 Dec 2004 - 11:44:59 EET


Bu tür kodlamanın detaylı olarak anlatıldığı siteler
yada kaynaklar yada kitap mevcutmudur. Arama
sonuçlarında çok kompleks kodlar yok. Bu konuda
önerebileceğiniz bir kitap var mıdır..

Teşekkürler

--- Serdar KÖYLÜ <serdarkoylu@fisek.com.tr> wrote:

> Selamlar..
>
> > Elimdeki form da arzann durumunu bildiren bir veri
> > geliyor.
> >
> > select * from dict_events where
> serialNumber='11111'
> > and status=$status[0] or status=$status[1] or
> > status=$status[2] or status=$status[3] or
> > status=$status[4]
> >
> > Form da sadece status lerden birini iaretlediimde
> > doru bilgiyi veriyor. Yani Seri Numarasna gre
> > sorguyu altryor. Ancak Bir den fazla seince veri
> > tabanndaki kritere uyan tm eventleri ekrana dkyor.
> > Bu sorguyu nasl yazmanlym ki sadece girilen seri
> > numarasna gre seili statuleri ekrana dktrsn...
>
> Sanırım,
>
> select * from dict_events where serialNumber='11111'
> and (status=$status[0] or status=$status[1] or
> status=$status[2] or status=$status[3] or
> status=$status[4])
>
> işinizi görecektir.
>
> Bu tür kodlar, gereksiz CPU Yükü, gereksiz bellek
> yükü, gereksiz disk
> I/O yükü vs. oluşturur. Bu tür basit sorunlarda dağ
> gibi birikir,
> sonuçta uygulamayı zorlamaya başlar.
>
> Burada sunucuyu bu kadar kastırmak yerine, sadece
> gerekli olan
> status check'i yaptırsanız, daha iyi olur. Bunun
> için, örneğin, status
> için string yerine enum veya int gibi bir veri tipi
> kullanıp daha sonra
> kod içinde sadece seçili status'lar için bir "where
> part" oluşturabilirsiniz.
>
> $sql = select * from dict_events where
> serialNumber='11111';
> $where = "";
> for ($n == 0; $n < 5; $n++) {
> . if ($status[$n])
> . $where .= "or status=$n ";
> }
>
> if ($where != "") {
> . $where = " and (" . substr($where, 2) . ")";
> . $sql .= $where;
> }
>
> $sql .= ";"
>
> Gibi bir şey iyi olabilir. Yukarıdaki kod sadece
> örnek bir algoritmayı
> gösteriyor, uygulamada ne çıkar bilemem :(
>
> Saygı ve sevgiler..
>
>
>
> _______________________________________________
> Linux-programlama mailing list
> Linux-programlama@liste.linux.org.tr
>
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>

                
__________________________________
Do you Yahoo!?
All your favorites on one personal page – Try My Yahoo!
http://my.yahoo.com

_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.