高效能mysql(一) 建立高效能索引

2021-10-08 22:18:17 字數 363 閱讀 9566

單列索引和多列索引

單列索引

多個單列索引的選擇問題

多個or條件:

多個單列的效能往往效能很低,盡量建立高效的多列索引。

多列索引

選擇合適的索引順序

避免範圍條件

在where子句中,in是有效的,範圍條件會導致後面的索引無效!

在order by中,範圍條件和in都會導致無法按照索引排序!

按照索引順序進行排序

但是範圍條件和in多值匹配會導致無法使用索引排序。

覆蓋索引

最後多列的索引即使都使用正確,但是優化器依然可能不使用索引,優化器會判斷索引能夠過濾更多的行,如果不行就還是全表掃瞄!

《高效能MySQL》讀書筆記之建立高效能的索引

索引是儲存引擎用於快速找到記錄的一種資料結構。索引優化是對查詢效能優化的最有效手段。索引能夠輕易將查詢效能提高幾個數量級。建立乙個最優的索引經常需要重寫查詢。5.1 索引基礎 在mysql中,儲存引擎首先在索引中找到對應值,然後根據匹配的索引記錄找到對應的資料行。索引可以包含乙個或多個列的值。如果索...

建立高效能索引 《高效能Mysql》筆記2

crate table people last name varchar 50 not null,first name varchar 50 not null,dob date not null,gender enum m f not null,key last name,first name,do...

高效能mysql 樹 高效能mysql精要

1 explain 中 extra using index 表示覆蓋索引,sql優化中最好能使用覆蓋索引,否則 二級索引 需要回表查詢。所謂覆蓋索引,是指要查詢的列正好是索引,而條件也是這個索引之一 2 where 語句中 條件等於主鍵的 在核心索引層完成,條件等於非索引的,在服務層完成 3 讀索引...