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
