Mysql效能優化點

2021-10-19 19:43:59 字數 1163 閱讀 6911

全值匹配我最愛

最佳左字首法則如果索引了多列,要遵守最左字首法則。

具體是指,查詢的where條件從索引的最左前列開始並且不跳過索引的中間列

不在索引列上做任何操作(計算、函式、(自動or手動)型別轉換),會導致索引失效

儲存引擎不能使用索引中範圍條件右邊的列

盡量使用覆蓋索引(索引列和查詢列一致),減少select *

using index 不會回表

using index condition 會回表

mysql中在使用不等於(!=< >)的時候無法使用索引,會導致全表掃瞄

is nullis not null也無法使用索引

like以萬用字元開頭(%abc...)索引失效會變成全表掃瞄

為避免全表掃瞄,可使用覆蓋索引,即select的字段是索引欄位的子集

字串不加單引號索引失效

少用or,用它來連線時會使索引失效

對於單鍵索引,盡量選擇針對當前query過濾性更好的索引

在選在組合索引的時候,當前query中過濾性最好的字段在索引字段順序中,位置越靠前越好

在選擇組合索引的時候,盡量選擇能夠包含當前query中的where字句中更多字段的索引。

盡可能通過分析統計資訊和調整query寫法來達到選擇何使索引的目的。

小表驅動大表

保證join語句中被驅動表上join條件字段已經被索引

當無法保證被驅動表的join條件欄位被索引且記憶體資源充足的情況下,不要太吝惜join buffer的設定

mysql 效能優化點記錄

mysql 效能優化點記錄 第一章myisam,可以基於blob和text的前500位元組,建立索引 myisam 支援fulltext 延遲更新索引 delay key write create table table3 id int 11 not null auto increment,name...

mysql效能優化 mysql效能優化

優化方式 1.空間換時間 冗餘 2.時間換空間 字段優先使用型別 int date char varchar text 索引型別 btree索引 hash索引 索引的葉子下,存放乙個資訊指向所在行的資料位址。btree有利於範圍查詢,hash有利於精確查詢。btree用的更多一些。btree索引的常...

mysql的效能優化 mysql效能優化

檢視安裝指令碼 select version 非互動式超時時間,如jdbc show global variables like wait timeout 互動式超時時間,如資料庫工具 show global variables like interactive timeout show sessi...