Mysql優化

① 爲查詢緩存優化查詢html

② EXPLAIN 咱們的SELECT查詢(能夠查看執行的行數)mysql

③ 當只要一行數據時使用LIMIT 1sql

④ 爲搜索字段創建索引緩存

⑤ 在Join表的時候使用至關類型的列,並將其索引性能

⑥ 千萬不要 ORDER BY RAND  ()優化

⑦ 避免SELECT *spa

⑧ 永遠爲每張表設置一個ID線程

⑨ 能夠使用ENUM 而不要VARCHARhtm

⑩ 儘量的使用NOT NULLblog

⑪ 固定長度的表會更快

⑫ 垂直分割

⑬ 拆分打的DELETE或INSERT語句

⑭ 越小的列會越快

⑮ 選擇正確的存儲引擎

⑯ 當心 "永久連接"

 

Explain 性能分析:

explain顯示了mysql如何使用索引來處理select語句以及鏈接表。能夠幫助選擇更好的索引和寫出更優化的查詢語句

possible_keys:查詢可能使用到的索引都會在這裏列出來

key:查詢真正使用到的索引,select_type爲index_merge時,這裏可能出現兩個以上的索引,其餘的select_type這裏只會出現一個。

參考:http://www.javashuo.com/article/p-xnalqwrc-ho.html

show processlist命令:

show processlist和show full processlist

processlist命令的輸出結果顯示了有哪些線程在運行,不只能夠查看當前全部的鏈接數,還能夠查看當前的鏈接狀態幫助識別出有問題的查詢語句等。

若是是root賬號,能看到全部用戶的當前鏈接。若是是其餘普通賬號,則只能看到本身佔用的鏈接。showprocesslist只能列出當前100條。若是想所有列出,能夠使用SHOW FULL PROCESSLIST命令

 

show processlist

KILL thread_id語句終止一個線程

 

再show processlist

相關文章
相關標籤/搜索