[Linux-programlama] Re: MySQL - index - select

---------

[Linux-programlama] Re: MySQL - index - select

From: Ismail ASCI <ismail.asci_at_gmail.com>
Date: Thu, 1 Nov 2007 13:06:35 +0200
Message-ID: <28814fb60711010406l3c2e9b26x853140ffdbd31a84@mail.gmail.com>

Merhaba,

Like ile yapilan sorgular bu yapida muhakkak performans kaybina neden
olacaktir.
Bu nedenle full text index olusturup aramalarinizi mysql full text search
ile yapabiliyorsaniz ciddi bir performans artisi saglayabilirsiniz. Ama tabi
full text'in sadece myisam tablolarda kullanilabilecegini eklemek
zorundayim. Eger myisam kullanamiyorsaniz, myisam motoru kullanan bir tablo
olusturup belli araliklarla search indexleri olusturabilirsiniz.

Kolay gelsin...

On 11/1/07, Sühan Erol <suhan_at_ufotek.com.tr> wrote:
>
> Oracle da "AND" ile ayrılan koşullar sondan itibaren işleme alınır. Mysql
> de de böyleyse sorguyu aşağıdaki şekilde yazmak bahsettiğiniz etkiyi
> yaratabilir.
>
>
>
> SELECT * FROM siparis_kalemleri WHERE *urundetay **like** "%kazak%"* AND*grupID
> **= **89*
>
>
>
> Ayrıca *urundetay **like** "%kazak%" * koşulunda ön tarafta da %
> olduğundan urundetay sahasının indexlenmesi birşey ifade etmeyecektir. Bu
> sorgulamada urundetaya ait index kullanılamayacaktır.
>
>
>
>
>
>
>
> *From:* linux-programlama-bounces_at_liste.linux.org.tr [mailto:
> linux-programlama-bounces_at_liste.linux.org.tr] *On Behalf Of *Nuri Akman
> *Sent:* Thursday, November 01, 2007 9:56 AM
> *To:* linux-programlama_at_liste.linux.org.tr
> *Subject:* [Linux-programlama] MySQL - index - select
>
>
>
> ArkadaÅŸlar,
>
> İçinde binlerce satır verinin olduğu ve büyümekte olan bir MySQL tablom
> var.
>
> Şöyle bir SQL cümleleri kullanıyorum:
>
> SELECT * FROM siparis_kalemleri WHERE *grupID **= **89* AND *urundetay **
> like** "%kazak%"*
>
> SELECT * FROM siparis_kalemleri WHERE *grupID **= **89* AND *urundetayID =
> 12 *AND *tip = 5*
>
> Tablo, grupID'ye göre indexli. Tabloda grupID'si aynı olan en çok 70 adet
> kayıt olabilir.
>
> Buna göre SORU 1.) urundetay, urundetayID, tip gibi alanlarımın İNDEXLİ
> OLMAMASI beni çok yavaşlatır mı?
>
> Ayrıca, SORU 2) Her SQL cümlemde indexli alanım (grupID) mutlaka WHERE
> koşulunda yer almaktadır.Binlerce kayıt arasından, indexli alanım
> üzerinden yaptığım bir sorguya karşılık gelen satır sayısı asla 70'in
> üzerinde olamaz. index'li alanı da kullanan (grupID) sorgu yaparken gelecek
> satır sayısının az olduğunu bildiğime göre, SQL cümlemde kullanacağim diğer
> WHERE parametrelerindeki alanların İNDEXLİ OLMAMASI sorun/yavaşlık doğurur
> mu?
>
> NOT: Sistemi kullanan eş zamanlı kullanıcı sayısı en çok 20 olabilir.
> Belki vereceğiniz cevap için bu bilgiye ihtiyaç duyabilirsiniz düşüncesiyle.
>
> Sevgiler,
> Nuri AKMAN
>
>
> _______________________________________________
> Linux-programlama mailing list
> Linux-programlama_at_liste.linux.org.tr
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>
>

-- 
Ismail ASCI
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
iFQEIBECABQFAkRIDJMNHQBiYWNrdXAgY29weQAKCRBgYvyi4RxNdcnIAJ9vweb8
vUH9m3a2aQHyAfeo0oJtlACfQiqcbHvdBtrxylRh42G2xea7gFM=
=Xy4T
-----END PGP PUBLIC KEY BLOCK-----

_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Received on Thu 01 Nov 2007 - 12:35:29 EET

---------

Bu arsiv hypermail 2.2.0 tarafindan uretilmistir.