1 . 預發跑 sql explain
2. 排除 快取 sql nocache
3. 看一下行數對不對 不對可以用analyze table t 矯正
4. 新增索引 , 索引不一定是最優的 force index 強制走 索引, 不建議使用
5. 存在回表的情況
6. 覆蓋索引避免回表, 不要* ,主鍵 索引
7. 聯合索引,不能無限制建 ,高頻 場景
8. 最左前原則 按照索引定義的字段順序寫sql
9 . 合理安排聯合索引的順序
10. 5.6版本之後, 索引下推, 減少回表次數
11. 給字串 加索引
字首索引
倒序儲存
hash
12 . 資料庫的fush 的時機
1.redo log 滿啦, 修改checkpoint flush 到磁碟
2. 系統 記憶體不足淘汰資料頁
buffer pool 要知道磁碟的io能力, 設定 innodb_io_capacty 設定磁碟的io ps fio測試
innodb_io_capacity 設定低了, 會讓innodb 錯誤估算系統能力,導致髒頁累積
3. 系統空閒的時候,找間隙刷髒頁
4. mysql正常關閉,會把記憶體髒頁 flush到磁碟
13 .inndb刷磁碟速度
1.髒頁比例
2.redolog 寫盤的速度
3.innodb_fulsh_nieighbors 機械磁碟的隨機io不太行 減少隨機io效能大幅提公升 設定為 1最好
4.現在都是ssd了, 設定為0 就好了, 8.0 之後預設為 0
14. 索引字段不要做函式操作,會破壞索引值的有序性,優化器會放棄走樹結構 ,如果觸發隱式轉換 那也會走cast函式 會放棄走索引
15 字符集 不同可能走不上索引, convert 也是函式走不上
pps:
索引 選擇, 1.普通索引,唯一索引,覆蓋索引,最左字首索引
mvcc
1.版本鏈 在聚集索引中,要兩個隱藏列 trx_id roll_pointer
2.讀未提交,(直接讀取最新版本)
3.序列化 (加鎖)
read view (讀已提交, 每次讀取生成乙個)(可重複度, 每一次生成乙個)
網路流的部分優化
只是幫助自己記憶一下。isap應該是一種複雜度比較優秀的最大流演算法。具體優化分為兩部分,都是基於dinic之上的。1.1.1.當前弧優化,這種優化比較顯然,就是對於每一次流,每條邊一定是只經過一次的,那麼這樣就可以將每條流過的變在鏈式前向星中刪掉。2.2.2.高階版分層圖優化。這個現在不是很理解。...
SSIS 資料流優化
一,資料流設計優化 資料流有兩個特性 流和在記憶體緩衝區中處理資料,根據資料流的這兩個特性,對資料流進行優化。1,流,同時對資料進行提取,轉換和載入操作 流,就是在source提取資料時,轉換元件處理資料,同時destination載入資料,資料在不同元件之間,同時被處理。所有的rdbms操作都是同...
Oracle工作流的優化
對於oracle工作流的優化方式主要分兩大類,一類是流程設計上的優化,一類是資料庫效能的優化。流程設計優化 仔細選擇同步處理和非同步處理模式。如果選擇同步處理模式,則在提交後系統立即進行工作流處理,在流程結束前,前端程式將一直處於等待狀 態。如果選擇非同步處理模式,程式提交工作流後控制權立即返回,工...