索引概念、建立索引的优缺点、使用场景、唯一键和主键的异同
总结:
索引是一种数据结构,包含着对数据表里所有记录的引用指针。
索引的优点:1.加快查询速度2.在使用索引过程中,会使用优化隐藏器,提高系统性能。
索引缺点:1.时间方面:创建和维护索引需要消耗时间。对数据增删改,也需要对索引动态维护,会降低增删改的效率。
2.空间方面:索引会占用物理空间。
索引的四种分类:主键索引、普通索引、唯一索引、全文索引(针对文本文件)。
唯一键和主键的异同?
同:内容都不可重复
异:
1.主键是一种约束,唯一索引(唯一键)是一种索引,包含对数据表中所有记录的引用指针,本质上不同。
2.主键不能有null,唯一索引可以有1个null。
3.一个表中主键只能有1个,唯一索引可以有多个。
4.主键一定包含唯一索引,而唯一索引不一定是主键。
5.主键可以作为外键,唯一索引不能不能作为外键。
6.主键是一种逻辑键,唯一索引是物理键,即主键实际不存在。
什么是索引?
索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。
索引是一种数据结构。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。
更通俗的说,索引就相当于目录。为了方便查找书中的内容,通过对内容建立索引形成目录。索引是一个文件,它是要占据物理空间的。
索引有哪些优缺点?
**
索引的优点
**
1)可以大大加快数据的检索速度,这也是创建索引的最主要的原因。
2)通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。
索引的缺点
时间方面:创建索引和维护索引要耗费时间,具体地,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,会降低增/改/删的执行效率;
空间方面:索引需要占物理空间。
索引使用场景(重点)
where id>10
上图中,根据id查询记录,因为id字段仅建立了主键索引,因此此SQL执行可选的索引只有主键索引,如果有多个,最终会选一个较优的作为检索的依据。