mysql中的参数如何调试_mysql 查询优化 ~ 查询参数调节
mysql優化基礎之參數調節
一 簡介:我們談談如何調節mysql參數加速查詢
二 相關參數
1 排序參數
sort_buffer_size 當出現order by時會利用到這個參數,當數據量超過內存參數時,會利用磁盤的臨時文件進行外部排序.
知識點補充:
1 聯合索引的建立是按照最左原則,即首先按照第一列的值建立,當第一列的值相同是,才會進行第二列的排序,依次類推.
2 mysql8.0的跳躍索引可以按照黨第一列值相同時,將第二列進行反轉排序存儲,所以能實現反向排序
3 普通的全表select order by并不會進行排序,而只是根據聯合索引順序檢索
2 臨時表參數
tmp_table_size 當出現以下情況時可能會用到(1 select子查詢 2 join 多表 3 uniob all 4 group by),當數據量超過內存參數時,會用到磁盤的臨時文件進行存儲操作
知識點補充
1 explain下出現using tempoary時代表用到了臨時內存,但是并不一定代表用到了臨時文件,這點要注意
2 using tempoary 通常伴隨著 using filesort
3 聯表參數
join_buffer_size 通常使用出現在 BNL優化時,第一張表將數據分批存入join_buffer中 然后與第二張表關聯
知識點補充
1 通過explain join是ALL,index,rang或者Index_merge的時候會用到join_buffer
三 參數推薦設置
join_buffer_size 2M-4M
sort_buffer_size 2M
tmp_table_size 16-256M
四 特別注意
1 本文所提到的變量都是session獨享的,所以如果一旦并發量增大,線程所占用的內存會增加.這些內存是不在bp里控制的
2 根據不同的select利用到的變量進行調節,有時候能加速你的查詢效率
總結
以上是生活随笔為你收集整理的mysql中的参数如何调试_mysql 查询优化 ~ 查询参数调节的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql删除表命令语句_MySQL增删
- 下一篇: mysql实体_mysql实体关系