成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一個例子!教您徹底理解索引的最左匹配原則!

數據庫 MySQL
在聯合索引中,只有左邊的字段被用到,右邊的才能夠被使用到。我們在建聯合索引的時候,區分度最高的在最左邊。

最左匹配原則的定義

簡單來講:在聯合索引中,只有左邊的字段被用到,右邊的才能夠被使用到。我們在建聯合索引的時候,區分度最高的在最左邊。

簡單的例子

創建一個表

CREATE TABLE `user` (
`id` INT NOT NULL AUTO_INCREMENT,
`code` VARCHAR(20) COLLATE utf8mb4_bin DEFAULT NULL,
`age` INT DEFAULT '0',
`name` VARCHAR(30) COLLATE utf8mb4_bin DEFAULT NULL,
`height` INT DEFAULT '0',
`address` VARCHAR(30) COLLATE utf8mb4_bin DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `idx_code_age_name` (`code`,`age`,`name`),
KEY `idx_height` (`height`)
)

建立聯合索引:idx_code_age_name。

該索引字段的順序是:

code

age

name

然后插入一組數據。

INSERT INTO 數據庫.`user` (id,CODE,age,NAME,height,address) VALUES(DEFAULT,'1002',40,'kevin',180,'北京市');

以下會走索引。

select * from user where code='1002';
select * from user where code='1002' and age=40
select * from user where code='1002' and age=401 and name='kevin';
select * from userwhere code = '1002' and name='kevin';

我們通過 EXPLAIN加上面的任意語句執行。

EXPLAIN SELECT * FROM USER WHERE CODE = '1002' AND NAME='kevin';

都會看到 type值 為ref。

以下不會走索引。

select * from user where age=21;
select * from user where name='Kevin';
select * from user where age=21 and name='Kevin';

我們通過 EXPLAIN加上面的任意語句執行,會看到type值為all。

大家可以看到where 從code(從左到右依次是:code、age、name)的聯合索引,開始查詢就會走索引,如果不從code開始就不會走索引!即只有左邊的字段被用到,右邊的才能夠被使用到。

explain 的常用type值

這里先簡單的說一下explain,explain即執行計劃,使用explain關鍵字可以模擬優化器執行sql查詢語句,從而知道MySQL是如何處理sql語句。explain主要用于分析查詢語句或表結構的性能瓶頸。

explain 的常用type值含義如下:

  •  "ALL"表示全表掃描,沒有使用索引。
  • "index"表示使用了索引,但不是覆蓋索引(即查詢中使用了索引,但還需要回表獲取數據)。
  • "range"表示使用了覆蓋索引(即查詢中直接從索引中獲取了所需數據,無需回表)。
  •  "ref"表示使用了索引(可能是覆蓋索引或非覆蓋索引),并使用了一個或多個列進行比較。
  •  "eq_ref"表示使用了唯一索引,并且只使用了等于操作符進行比較。
責任編輯:姜華 來源: 今日頭條
相關推薦

2022-10-13 09:43:31

MySQL索引聯合索引

2010-10-15 13:57:55

MySQL源碼安裝

2021-07-09 06:11:37

Java泛型Object類型

2024-03-05 18:07:44

Java并發索引

2020-03-26 17:00:53

HashMapputJava

2010-10-12 14:53:31

mysql索引優化

2009-06-11 14:48:48

jbpm工作流引擎jbpm例子

2009-06-18 15:53:37

Hibernate B

2024-01-25 11:41:00

Python開發前端

2023-03-14 08:02:14

靜態路由動態路由設備

2010-11-23 14:19:12

MySQL注冊表

2010-10-13 15:59:21

MySQL索引

2010-11-16 09:49:22

Oracle重建索引

2024-01-08 13:40:00

并發安全? 數量

2025-05-28 02:00:00

AI智能體文本

2024-07-01 00:00:02

2010-09-08 09:41:37

SQL刪除注冊表

2010-09-28 11:07:37

SQL索引

2010-10-26 16:54:16

oracle全文索引

2011-08-02 12:46:46

Oracle數據表建立索引
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精精品 | 中文字幕一区二区三区乱码图片 | 日韩欧美国产一区二区 | 久久91| 在线成人 | 欧美一区二区三区在线观看 | 精品熟人一区二区三区四区 | 国产精品亚洲成在人线 | 日韩黄| 色小姐综合网 | 欧美aaaaaa| 欧美成人一级视频 | 亚洲综合日韩精品欧美综合区 | 国产成人高清在线观看 | 亚洲一区在线日韩在线深爱 | 中文字幕日韩欧美 | 国产美女在线免费观看 | 中文字幕男人的天堂 | 成人二区 | 国产精品日日摸夜夜添夜夜av | 国产精品永久久久久 | 日韩有码一区 | 亚洲人成在线播放 | 久久夜视频 | 日韩午夜场| 国产精品亚洲成在人线 | 亚洲欧美视频 | 久久精品中文 | 色婷婷综合久久久中字幕精品久久 | 亚洲精品福利在线 | 四色成人av永久网址 | 国产在线精品一区二区三区 | 欧美www在线观看 | 一级毛片在线视频 | 久久人人网 | 国产91久久精品一区二区 | 91在线网站| 亚洲 欧美 日韩在线 | 一级黄色片网站 | 亚洲日韩中文字幕一区 | 国产精品揄拍一区二区 |