Devrim GÜNDÜZ'ün sorusu üzerine.

Sorgu SELECT COUNT(*) FROM `tablo` şeklindeyse yani WHERE clause yoksa ve
tablo MyISAM ise indexten okur, WHERE clause varsa okumaz (galiba). MySQL
biryerde şöyle açıklamaktadır:

mysql> *SELECT COUNT(*) FROM student;*

 This optimization applies only to MyISAM tables only, because an exact row
count is stored for this storage engine and can be accessed very quickly.
For transactional storage engines such as InnoDB, storing an exact row count
is more problematic because multiple transactions may be occurring, each of
which may affect the count.

Yani WHERE bölümü olmadığı zaman ve tablo MyISAM ise özel optimizasyonla
hızlıca bu değeri gönderir. ama innoDB gibi transaction içeren motorlarda bu
iş daha karmaşıktır ve satır sayıcını etkileyen çoklu trasnsaction işlemleri
olabilir.

çeviri o kadar da net olmadı sanırım. bir kaç kere okuyalım. :)


2009/6/16 Devrim GÜNDÜZ <[email protected]>

> On Tue, 2009-06-16 at 18:22 +0300, ilker AYDIN wrote:
> > 1-) myslde bir varitabanında onlarca tabe var, mysql administratorla
> > login
> > olunca o veritabanındaki tüm tableların toplam satır sayısını veriyor.
> >
> > İşte ben bu toplam satır sayısını konsoldan komutla nasıl gorebilirim?
>
> Aslında bu noktada ben de bir soru sorayım: MySQL count() fonksiyonunu
> nasıl optimize ediyor? Sıralı tarama (sequential scan) mı yapıyor; yoksa
> index mi kullanıyor?
> --
> Devrim GÜNDÜZ, RHCE
> Command Prompt - http://www.CommandPrompt.com
> devrim~gunduz.org, devrim~PostgreSQL.org, devrim.gunduz~linux.org.tr
>                   http://www.gunduz.org
>
> _______________________________________________
> Linux-sunucu E-Posta Listesi
> [email protected]
>
> Liste kurallarını http://liste.linux.org.tr/kurallar.php  bağlantısından
> okuyabilirsiniz;
>
> Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen
> e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1
> dakika içinde üyeliğinizi sonlandırabilirsiniz.
> http://liste.linux.org.tr/mailman/listinfo/linux-sunucu
>
>


-- 
Elvin Şiriyev
http://siriyev.net
_______________________________________________
Linux-sunucu E-Posta Listesi
[email protected]

Liste kurallarını http://liste.linux.org.tr/kurallar.php  bağlantısından 
okuyabilirsiniz;

Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen 
e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1 
dakika içinde üyeliğinizi sonlandırabilirsiniz.
http://liste.linux.org.tr/mailman/listinfo/linux-sunucu

Cevap