SELECT查詢的速度 |
發(fā)布時(shí)間: 2012/8/30 17:25:45 |
總的來(lái)說(shuō),要想使一個(gè)較慢速SELECT ... WHERE更快,應(yīng)首先檢查是否能增加一個(gè)索引。不同表之間的引用通常通過(guò)索引來(lái)完成。你可以使用EXPLAIN語(yǔ)句來(lái)確定SELECT語(yǔ)句使用哪些索引。參見(jiàn)7.4.5節(jié),“MySQL如何使用索引”和7.2.1節(jié),“EXPLAIN語(yǔ)法(獲取關(guān)于SELECT的信息)”。電腦技巧www.boydavid.com 下面是一些加速對(duì)MyISAM表的查詢的一般建議: 計(jì)算機(jī)愛(ài)好者www.boydavid.com · 為了幫助MySQL更好地優(yōu)化查詢,在一個(gè)裝載數(shù)據(jù)后的表上運(yùn)行ANALYZE TABLE或myisamchk --analyze。這樣為每一個(gè)索引更新指出有相同值的行的平均行數(shù)的值(當(dāng)然,如果只有一個(gè)索引,這總是1。)MySQL使用該方法來(lái)決定當(dāng)你聯(lián)接兩個(gè)基于非常量表達(dá)式的表時(shí)選擇哪個(gè)索引。你可以使用SHOW INDEX FROM tbl_name并檢查Cardinality值來(lái)檢查表分析結(jié)果。myisamchk --description --verbose可以顯示索引分布信息。 · 要想根據(jù)一個(gè)索引排序一個(gè)索引和數(shù)據(jù),使用myisamchk --sort-index --sort-records=1(如果你想要在索引1上排序)。如果只有一個(gè)索引,想要根據(jù)該索引的次序讀取所有的記錄,這是使查詢更快的一個(gè)好方法。但是請(qǐng)注意,第一次對(duì)一個(gè)大表按照這種方法排序時(shí)將花很長(zhǎng)時(shí)間! 電腦學(xué)習(xí)網(wǎng)站www.boydavid.com 本文出自:億恩科技【www.itdijia.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |