>  在一些情況下,MySQL可以直接使用索引來(lái)滿足一個(gè)ORDERBY或GROUPBY子句而無(wú)需做額外的排序。盡管ORDERBY不是和索引的順序準(zhǔn)確匹配,索引還是可以被用到,只要不用的索引部分和所有的額外的">
mysql order by索引優(yōu)化--

mysql order by索引優(yōu)化--

ID:24218805

大小:50.50 KB

頁(yè)數(shù):3頁(yè)

時(shí)間:2018-11-13

mysql order by索引優(yōu)化--_第1頁(yè)
mysql order by索引優(yōu)化--_第2頁(yè)
mysql order by索引優(yōu)化--_第3頁(yè)
資源描述:

《mysql order by索引優(yōu)化--》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。

1、MySQLOrderBy索引優(yōu)化>>  在一些情況下,MySQL可以直接使用索引來(lái)滿足一個(gè)ORDERBY或GROUPBY子句而無(wú)需做額外的排序。盡管ORDERBY不是和索引的順序準(zhǔn)確匹配,索引還是可以被用到,只要不用的索引部分和所有的額外的ORDERBY字段在ySQLOrderBy  下列的幾個(gè)查詢都會(huì)使用索引來(lái)解決ORDERBY或GROUPBY部分:SELECT*FROMt1ORDERBYkey_part1,key_part2,...;SELECT*FROMt1t1t1ORDERBYkey_part

2、1DESC,key_part2DESC;SELECT*FROMt1ySQLOrderBy  在另一些情況下,MySQL無(wú)法使用索引來(lái)滿足ORDERBY,盡管它會(huì)使用索引來(lái)找到記錄來(lái)匹配t1ORDERBYkey1,key2;  *在非連續(xù)的索引鍵部分上做ORDERBY:SELECT*FROMt1t1ORDERBYkey_part1DESC,key_part2ASC;*用于搜索記錄的索引鍵和做ORDERBY的不是同一個(gè):SELECT*FROMt1ySQL是否在查詢中使用了索引。如果Extra字段的值是Us

3、ingfilesort,則說(shuō)明MySQL無(wú)法使用索引。詳情請(qǐng)看7.2.1EXPLAINSyntax(GetInformationAboutaSELECT)。當(dāng)必須對(duì)結(jié)果進(jìn)行排序時(shí),MySQL4.1以前它使用了以下filesort算法:  1.根據(jù)索引鍵讀取記錄,或者掃描數(shù)據(jù)表。那些無(wú)法匹配ERGEBUFF(7)個(gè)區(qū)域的塊保存在另一個(gè)臨時(shí)文件中。重復(fù)這個(gè)操作,直到所有在第一個(gè)文件的塊都放到第二個(gè)文件了。  6.重復(fù)以上操作,直到剩余的塊數(shù)量小于MERGEBUFF2(15)。  7.在最后一次多重合并時(shí),

4、只有記錄的指針(排序索引鍵的最后部分)寫到結(jié)果文件中去。  8.通過(guò)讀取結(jié)果文件中的記錄指針來(lái)按序讀取記錄。想要優(yōu)化這個(gè)操作,MySQL將記錄指針讀取放到一個(gè)大的塊里,并且使用它來(lái)按序讀取記錄,將記錄放到緩沖中。緩沖的大小由系統(tǒng)變量read_rnd_buffer_size的值而定。這個(gè)步驟的代碼在源文件`sql/records.cc'中。  這個(gè)逼近算法的一個(gè)問(wèn)題是,數(shù)據(jù)庫(kù)讀取了2次記錄:一次是估算ySQL4.1及更新版本中,filesort優(yōu)化算法用于記錄中不只包括索引鍵值和記錄的位置,還包

5、括查詢中要求的字段。這么做避免了需要2次讀取記錄。改進(jìn)的filesort算法做法大致如下:  1.跟以前一樣,讀取匹配ySQL能否使用索引而非額外的排序過(guò)程。如果不能使用索引,可以試著遵循以下策略:  *增加sort_buffer_size的值?! ?增加read_rnd_buffer_s12下一頁(yè)>>>>這篇文章來(lái)自..,。ize的值?! ?修改tmpdir,讓它指向一個(gè)有很多剩余空間的專用文件系統(tǒng)?! ∪绻褂肕ySQL4.1或更新,這個(gè)選項(xiàng)允許有多個(gè)路徑用循環(huán)的格式。各個(gè)路徑之間在Unix上用冒

6、號(hào)(':')分隔開(kāi)來(lái),在Windows,NetWare以及OS/2上用分號(hào)(';')??梢岳眠@個(gè)特性將負(fù)載平均分?jǐn)偨o幾個(gè)目錄。注意:這些路徑必須是分布在不同物理磁盤上的目錄,而非在同一個(gè)物理磁盤上的不同目錄。上一頁(yè)12>>>>這篇文章來(lái)自..,。

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。