暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

24个经典的MySQL索引问题,你都遇到过哪些?

程序员追风 2021-05-14
282

索引

1、什么是索引?

2、索引有哪些优缺点?

3、索引使用场景(重点)

4、索引有哪几种类型?

5、索引的数据结构(b树,hash)

6、索引的基本原理

7、索引算法有哪些?

8、索引设计的原则?

9、创建索引的原则(重中之重)

10、创建索引的三种方式,删除索引

11、创建索引时需要注意什么?

12、使用索引查询一定能提高查询的性能吗?为什么

13、百万级别或以上的数据如何删除

14、前缀索引

15、什么是最左前缀原则?什么是最左匹配原则

16、B树和B+树的区别

17、使用B树的好处

18、使用B+树的好处

19、Hash索引和B+树所有有什么区别或者说优劣呢?

20、数据库为什么使用B+树而不是B树

21、B+树在满足聚簇索引和覆盖索引的时候不需要回表查询数据,

22、什么是聚簇索引?何时使用聚簇索引与非聚簇索引

23、非聚簇索引一定会回表查询吗?

24、联合索引是什么?为什么需要注意联合索引中的顺序?

1、什么是索引?

索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。

索引是一种数据结构。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。

更通俗的说,索引就相当于目录。为了方便查找书中的内容,通过对内容建立索引形成目录。索引是一个文件,它是要占据物理空间的。

2、索引有哪些优缺点?

索引的优点

(1)可以大大加快数据的检索速度,这也是创建索引的最主要的原因。

(2)通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。

索引的缺点

(1)时间方面:创建索引和维护索引要耗费时间,具体地,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,会降低增/改/删的执行效率;

(2)空间方面:索引需要占物理空间。

3、索引使用场景(重点)

where


上图中,根据id查询记录,因为id字段仅建立了主键索引,因此此SQL执行可选的索引只有主键索引,如果有多个,最终会选一个较优的作为检索的依据。

-- 增加一个没有建立索引的字段altertable innodb1 add sex char(1);
-- 按sex检索时可选的索引为nullEXPLAINSELECT*from innodb1 where sex='男';
文章转载自程序员追风,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论