成人免费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索引聯合索引

2021-07-09 06:11:37

Java泛型Object類型

2010-10-15 13:57:55

MySQL源碼安裝

2009-06-18 15:53:37

Hibernate B

2024-03-05 18:07:44

Java并發索引

2020-03-26 17:00:53

HashMapputJava

2023-03-14 08:02:14

靜態路由動態路由設備

2010-10-12 14:53:31

mysql索引優化

2009-06-11 14:48:48

jbpm工作流引擎jbpm例子

2024-01-08 13:40:00

并發安全? 數量

2024-01-25 11:41:00

Python開發前端

2010-10-13 15:59:21

MySQL索引

2010-11-16 09:49:22

Oracle重建索引

2010-11-23 14:19:12

MySQL注冊表

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全文索引

2022-10-08 13:29:19

Pandasgroupby
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 2019中文字幕视频 | 四虎影音 | 国产日韩免费视频 | 日本三级全黄三级三级三级口周 | 91精品久久久久久久久99蜜臂 | 久久久久亚洲视频 | 日韩av在线免费 | 毛片网站在线观看 | 午夜精品视频 | 一区二区三区不卡视频 | 99热精品久久 | 亚洲欧美日韩久久久 | 色婷婷在线视频 | 亚洲一区二区精品视频 | 久久国产精品一区二区三区 | 国产精品视频yy9299一区 | 亚洲综合视频 | 欧洲一区在线观看 | 色婷婷久久久亚洲一区二区三区 | 国产在线一区二区 | 韩国av一区二区 | 国产精品久久毛片av大全日韩 | 国产精品永久久久久久久www | 99爱视频 | 97天天干 | 成人激情免费视频 | 亚洲97| 精品综合久久 | 久久久久国产一区二区三区四区 | 91国内视频在线 | 欧美极品视频在线观看 | 一道本不卡视频 | 欧美aaaa视频 | 91一区二区三区在线观看 | www.youjizz.com日韩 | 国产精品视频一二三区 | 九九在线精品视频 | 蜜臀久久99精品久久久久野外 | 久久精品二区亚洲w码 | 精品欧美一区二区在线观看视频 | 色婷婷av一区二区三区软件 |