From 2dc74fadf4ecf2ce5729c0ee65c4970dec7afb3d Mon Sep 17 00:00:00 2001 From: yuyisang <50893917+yuyisang@users.noreply.github.com> Date: Mon, 8 Mar 2021 20:35:05 +0800 Subject: [PATCH 1/2] Update MySQL Index.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 冗余索引修正 --- docs/database/MySQL Index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/database/MySQL Index.md b/docs/database/MySQL Index.md index 8003a69faa3..0cec3512585 100644 --- a/docs/database/MySQL Index.md +++ b/docs/database/MySQL Index.md @@ -141,7 +141,7 @@ select * from user where city=xx ; // 无法命中索引 ### 注意避免冗余索引 -冗余索引指的是索引的功能相同,能够命中 就肯定能命中 ,那么 就是冗余索引如(name,city )和(name )这两个索引就是冗余索引,能够命中后者的查询肯定是能够命中前者的 在大多数情况下,都应该尽量扩展已有的索引而不是创建新索引。 +冗余索引指的是索引的功能相同,能够命中索引(a, b)就肯定能命中索引(a) ,那么索引(a)就是冗余索引。如(name,city )和(name )这两个索引就是冗余索引,能够命中前者的查询肯定是能够命中后者的 在大多数情况下,都应该尽量扩展已有的索引而不是创建新索引。 MySQL 5.7 版本后,可以通过查询 sys 库的 `schema_redundant_indexes` 表来查看冗余索引 From b39b54d070806a88f273c4cf7cf150f5ce64a24a Mon Sep 17 00:00:00 2001 From: yuyisang <50893917+yuyisang@users.noreply.github.com> Date: Mon, 8 Mar 2021 21:19:39 +0800 Subject: [PATCH 2/2] =?UTF-8?q?Update=20=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E7=B4=A2=E5=BC=95.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 冗余索引修正 --- ...5\260\346\215\256\345\272\223\347\264\242\345\274\225.md" | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git "a/docs/database/\346\225\260\346\215\256\345\272\223\347\264\242\345\274\225.md" "b/docs/database/\346\225\260\346\215\256\345\272\223\347\264\242\345\274\225.md" index 73b3251bd6f..4a9e8d8b741 100644 --- "a/docs/database/\346\225\260\346\215\256\345\272\223\347\264\242\345\274\225.md" +++ "b/docs/database/\346\225\260\346\215\256\345\272\223\347\264\242\345\274\225.md" @@ -227,7 +227,8 @@ ALTER TABLE table ADD INDEX index_name (num,name,age) #### 4.注意避免冗余索引 -冗余索引指的是索引的功能相同,能够命中 就肯定能命中 ,那么 就是冗余索引如(name,city )和(name )这两个索引就是冗余索引,能够命中后者的查询肯定是能够命中前者的 在大多数情况下,都应该尽量扩展已有的索引而不是创建新索引。 +冗余索引指的是索引的功能相同,能够命中索引(a, b)就肯定能命中索引(a) ,那么索引(a)就是冗余索引。如(name,city )和(name )这两个索引就是冗余索引,能够命中前者的查询肯定是能够命中后者的 在大多数情况下,都应该尽量扩展已有的索引而不是创建新索引。 + #### 5.考虑在字符串类型的字段上使用前缀索引代替普通索引 @@ -235,4 +236,4 @@ ALTER TABLE table ADD INDEX index_name (num,name,age) ### 使用索引一定能提高查询性能吗? -大多数情况下,索引查询都是比全表扫描要快的。但是如果数据库的数据量不大,那么使用索引也不一定能够带来很大提升。 \ No newline at end of file +大多数情况下,索引查询都是比全表扫描要快的。但是如果数据库的数据量不大,那么使用索引也不一定能够带来很大提升。