mysql 調優 Mysql調優

2021-10-17 22:41:00 字數 931 閱讀 5364

表設計

1)     禁止使用外來鍵

2)     多表中的相同列,必須保證列定義一致

3)    國內表預設使用innodb,表字符集預設使用gbk,國際預設使用utf8的表

4)     表必須包含gmt_create和gmt_modified欄位,即表必須包含記錄建立時間和修改時間的字段

5)     單錶一到兩年內資料量超過500w或資料容量超過10g考慮分表,且需要提前考慮歷史資料遷移或應用自行刪除歷史資料

6)    單條記錄大小禁止超過8k(列長度(中文)*2(gbk)/3(utf8)+列長度(英文)*1)

7)    日誌類資料不建議儲存在mysql上,優先考慮hbase或ob,如需要儲存請找dba評估使用壓縮表儲存

字段設計

1)     表被索引列必須定義為not null,並設定default值

2)     禁止使用float、double型別,建議使用decimal或者int替代

3)     禁止使用blob、text型別保留大文字、檔案、,建議使用其他方式儲存(tfs/sfs),mysql只儲存指標資訊

4)    禁止使用varchar型別作為主鍵語句設計

語句設計

1)    資料更新建議使用二級索引先查詢出主鍵,再根據主鍵進行資料更新

2)    禁止使用非同型別的列進行等值查詢!

其他1)     禁止使用:儲存過程、觸發器、函式、檢視、事件等mysql高階功能

2)     禁止使用跨庫查詢

3)     禁止使用子查詢,建議將子查詢轉換成關聯查詢

4)     禁止核心業務流程sql包含:計算操作、多表關聯、表遍歷case when等複雜查詢,建議拆分成單錶簡單查詢

5)    varchar長度設計需要根據業務實際需要進行長度控制,禁止預留過長空間。例如status使用varchar(128)進行儲存

mysql調優書籍 mysql調優從書寫sql開始

理論知識 mysql 的執行機制 mysql 的sql關鍵字執行順序 1 mysql 的優化方案有哪些?1 mysql 資料庫常見的優化手段分為三個層面 sql 和索引優化 資料庫結構優化 系統硬體優化等 前兩個可以通過日常的書寫sql來實現,養成好的習慣可以事半功倍。2 sql 和索引優化習慣準則...

mysql卡的調優思路 MySQL效能調優思路

1.mysql效能調優思路 如果一台伺服器出現長時間負載過高 週期性負載過大,或偶爾卡住如何來處理?是週期性的變化還是偶爾問題?是伺服器整體效能的問題,還是某單條語句的問題?具體到單條語句,這條語句是在等待上花的時間,還是查詢上花的時間?1.1.監測並觀察伺服器的狀態.觀察伺服器狀態,一般用如下2個...

mysql調優經驗

訪問量越來越大,mysql自然成為瓶頸,因此最近我一直在研究 mysql 的優化,第一步自然想到的是 mysql 系統引數的優化,作為乙個訪問量很大的 日20萬人次以上 的資料庫系統,不可能指望 mysql 預設的系統引數能夠讓 mysql執行得非常順暢。通過在網路上查詢資料和自己的嘗試,我認為以下...