[Linux-programlama] Re: SQL'de OR kullanımı ve performans

---------

[Linux-programlama] Re: SQL'de OR kullanımı ve performans

From: Ümran Kamar <umrankamar_at_gmail.com>
Date: Sat, 29 Dec 2007 18:32:08 +0200
Message-ID: <176a42d20712290832i6585acc0se893f1533e079b28@mail.gmail.com>

Merhaba,

Hangi db de 10.000 kayıtı incelemek bu kadar zaman alıyor?

Veritabanı tasarımınızda değişikliğe gidebilirsiniz.

Çünkü mantıklı düşününce or iki kümenin birleşimini alıyor. Bakınca x=1 leri
bulmak için 10.000 kayıt dönecekti, y=1 leri bulmak için 10.000 kayıt
dönecekti, dönmeden bilemez ve bunları toplayacaktı.

Or değilde and olsa, iç içe sorgu mantıklı olabilirdi ama işte istediğimiz
or.

Yine de sürenin 10bin kayıtta misal mysql de çok süreceğini sanmıyorum,
dilerseniz, ispatlaya da bilirim. Ama eÄŸer ki, cok daha fazla veri
eklenebilir, ilerisi için endişeliyim diyorsanız, tablo yapınızı daha esnek
tutabilirsiniz. İşte bu küçük örnek için mantıklı olmaz ya atalım, xlerin 1
e eÅŸit oldugu zamanda ki deÄŸerleri tutan diÄŸer bir tablo gibi. (Daha baÅŸka
bir örnekte mantıklı hale gelebilen durumlar.)

Kolay gelsin, şimdiden iyi yıllar.
Ãœmran Kamar.

On Dec 29, 2007 5:08 PM, OKAN ARI <liste_at_ari-tech.com> wrote:

> Ornegin 10.000 kayÅ­tlÅ­ bir tabloda SELECT * FROM tablo WHERE x='1' OR
> y='1'
>
> die bi sorgumuz olsun.
>
> Biliyoruz ki aslÅ­nda x='1' olan 14, y='1' olan 10 kayÅ­t var.
>
> Bu sorgunun yanÅ­tÅ­ bulnurken tum 10.000 kayÅ­t tek tek inceleniyor (EXPLAN
> ile gordugum). Bu da son derece ciddi br performans dususune neden oluyor.
> Bu baglamda
>
> SQL'de OR kullanmak bu kadar performans dusuruyorsa (ki boyle bir reel
> tabloda sorgu 0.15sn suruyor) bunun bir cozumu olmalÅ­ die dusunuyorum.
> Topamda max 24 kayÅ­t verecek bir sorgu icin 10.000 kaydÅ­n tektek
> incelenmeden olasulmasÅ­nn bir yolu var mdÅ­Å­r?
>
> SaygÅ­lar
>
> OKAN
>
>
> _______________________________________________
> 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 Sat 29 Dec 2007 - 18:01:27 EET

---------

Bu arsiv hypermail 2.2.0 tarafindan uretilmistir.