MySQL查詢優化和配置優化

查詢優化

1.對查詢進行優化,應儘量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引。
2.應儘量避免在 where 子句中對字段進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表掃描。
4.應儘量避免在 where 子句中使用 or 來連接條件,否則將導致引擎放棄使用索引而進行全表掃描,如:

select id from t where num=10 or num=20	
可以這樣查詢:	
select id from t where num=10	
union all	
select id from t where num=20

5.對於連續的數值,能用 between 就不要用 in 了:
select id from t where num between 1 and 3
6.應儘量避免在 where 子句中對字段進行表達式操作,這將導致引擎放棄使用索引而進行全表掃描。如:
7.任何地方都不要使用 select * from t ,用具體的字段列表代替“*”,不要返回用不到的任何字段。
8.避免在where查詢條件左邊使用表達公式

配置優化

  • max_connections 最大連接數
  • read_buffer_size 掃描表的時候用到的緩衝區
  • sort_buffer_size 排序的時候用到的緩衝區
  • innodb_buffer_pool_size 索引的緩存

相關命令,查看所有配置

show global status

其他優化

數據庫主從、主主
參考https://mp.csdn.net/mdeditor/97444022#

參考

參考文章:https://www.cnblogs.com/zhang-bo/p/9138151.html
參考:https://www.jianshu.com/p/37ecd4777af0
文件描述配置:https://blog.csdn.net/genzld/article/details/86564821

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章