後期會持續優化這篇文章
// 1.開啟慢查詢日誌:
slow_query_log=1
// 2.
show status like 'com_%';
com_select:執行 select 操作的次數,一次查詢只累加 1。
com_insert: 執行 insert 操作的次數, 對於批量插入的 insert 操作, 只累加一次。
com_update:執行 update 操作的次數。
com_delete:執行 delete 操作的次數。
// 3.讓mysql給出合適的字段長度(大致意思)
select * from tbl_name procedure analyse();
select * from tbl_name procedure analyse(16,256);
// 4.分割槽
在遵循三大正規化的基礎上適當的冗餘:這裡需要了解三大正規化的概念
使用合適的資料型別,定義合適的長度;
盡量使用not null,因為null數值計算邏輯比較複雜;
慢查詢日誌;
優化where後邊的條件,避免全表掃瞄;like,>=,not in 等
explain 檢視sql執**況;
批量匯入的時候:
先禁用索引,匯入後重新建索引;
批量插入,手動提交事務;
避免使用select *;
這裡邊大家可以自由發揮,哈哈
選用合適的儲存引擎,innodb和myisam;
讀多寫少用myisam;
讀多寫也多用innodb;
查詢快取
query_cache_type:
0或者off:關閉快取
1或者on:開啟快取(使用sql_no_cache提示的select語句除外)
2或者demand (只有顯示指定sql_cache的查詢語句才會快取)
query_cache_size:單位是m;
reset_query_cache:重置快取;
對資料表的改動會導致基於該資料表的快取失效;
key_buffer_size:設定索引塊快取大小,只用於myisam;
table_cache:表示資料庫使用者開啟表的最大數量;
innodb_buffer_pool_size: 儲存innodb引擎的表資料和索引資料的最大記憶體緩衝區大小;
最大連線數。
應用層面採用快取,減少mysql查詢頻率;
主從複製:這裡需要了解主從複製原理;
讀寫分離:
writedatabase:寫連線;
readdatabase:讀連線;
負載均衡搭建集群;
高可用:為單機服務提供乙個冗餘機。
心跳檢測虛ip
主從複製
分割槽?不太了解
水平分割和垂直分割。
以上就是我的總結,不太全,後期遇到一點補充一點吧,請各位大佬指正,加上配圖(從網上找的):
帶你快速搞定Mysql優化
目錄 select distinct from join 如left join on where group by h ing union order by limit 執行順序 from where聚h ing order limit 1 from 先做表連線 2 where 進行條件限制 3 然...
五方面搞定電腦關機問題
從五方面了解電腦無法正常關機的問題 1 系統檔案中自動關機程式的缺陷。假如我們在 開始 執行 中輸入命令 rundll32 user.exe,exitwindows 看看能否正常關機。如果在這個命令下可以正常關機,表示自動關機程式可能有某種缺陷,我們應該在相應的專案中完成檔案修補。如果修補檔案仍然不...
MySQL五個查詢優化方法
熟悉sql的人都知道,完成同乙個任務,sql可能有多種寫法,但不同寫法的查詢效能可能會有天壤之別,本文列舉出五個查詢優化的方法,當然,優化的方法還有很多。1 優化資料型別 mysql中資料型別有多種,如果你是一名dba,正在按照優化的原則對資料型別進行嚴格的檢查,但開發人員可能會選擇他們認為最簡單的...