最近在看mysql的優化,就做了下筆記,就當給自己一次理論知識上的提公升
通過不同的方式達到提高資料庫效能的目的。
優化包括多個方面,比如查詢速度、更新速度、mysql伺服器效能等
分析查詢語句
desc 查詢語句;
1)select_type:查詢語句的型別。
****** 表示簡單查詢;
primary 表示主查詢;
union 表示子查詢。
2)table: 表示查詢的表名。
3)type: 表示表的連線型別。
system 表示表中只有一條記錄;
const 表示表中有多條記錄,但只從中查詢一條記錄;
all 表示對錶進行了完整的掃瞄;
eq_ref 表示多表連線時,後面的表使用了主鍵或唯一約束;
ref 表示使用了索引;
range 表示查詢語句中給出了查詢範圍;
index 表示對錶中的索引進行了完整的掃瞄;
4)possible_keys:表示表中可能使用的索引。
5)key: 表示查詢使用到的索引。
6)key_len: 表示索引欄位的長度。
7)ref: 表示使用哪個列與索引一起來查詢。
8)rows: 表示查詢的行數。
9)extra: 表示查詢過程的附件資訊。
索引可以提高查詢的速度,但是需要注意有些時候,索引並不會發揮作用:
1、如果查詢中使用了like關鍵字,並且匹配字元第乙個字元為'%'或者'_',則不會使用索引。
2、如果表中建立了多列索引,只有查詢條件中使用了這些欄位中的第乙個欄位是,才會使用索引。
1、禁用索引
禁用:alter table 表名 disable keys;
開啟:alter table 表名 enable keys;
2、禁用唯一性檢查
禁用:set unique_checks=0;
開啟:set unique_checks=1;
3、優化sql語句,批處理執行。
Mysql簡單優化
日誌類 long query time 1 和 log slow queries usr local mysql logs log slow.log 設定慢查詢日誌記錄路徑和超時時間。ln s dev null mysql history 指定日誌檔案到黑洞,日誌檔案在使用者家目錄下,名字是.mys...
MySQL簡單優化
公司公升級了伺服器的配置,記憶體吃緊的問題得以解決,由此想到了幾個優化mysql的簡單方法。首先明確兩件事,我們的業務場景是常見的高併發web服務,查詢速度是重中之重。還有就是優化前一定要備份資料庫,不然出問題就只能跑路了。1.使用固態硬碟 這個優化方法毫無技術含量,完全就是花錢買效能,但是不得不說...
MySQL的簡單優化整理
第一次發文章,簡單整理一下,順便理一理思路 1 在建立表結構時選擇合適的字段型別 謹慎使用blog,text 2 在使用blog,text,或者資料結構過大時不常用的字段進行分表儲存 3 當表中資料量過大時可以進行表的拆分 分表 橫向 縱向 4 可以進行資料庫的主 從配置 讀 寫分離,提高效能 5 ...