标签:分类 生成 结构 b树 最大 创建索引 使用 指针 asc
索引,对数据库表中一列或多列的值进行排序的一种结构,使用索引可提高数据库中待定数据的查询速度。
索引是与表或视图关联的独立的、物理的数据库结构,可以加快从表或视图中检索行的速度。索引包含由表或视图中的一列或多列生成的键。这些键存储在一个结构(B树)中,以便Mysql可以快速有效的查找与键值关联的行(部分MySQL中的数据库引擎还可以支持hash结构)
索引的作用就是为了提高数据库从表中或视图中查询数据的速度,改善数据库性能,如同书的目录一样。一般来说,目录所占的页数比书的内容少,而索引也需要储存的空间,被存放索引的空间在数据库中成为索引页。索引页是数据库中储存索引的数据页,存放键值以及指向数据位置的指针。
索引的特点:
1. 通过创建唯一索引,可以保证数据库表中的每一行数据的唯一性。
2. 可以大大加快数据的查询速度。
3. 在实现数据的引用完整性方面,可以加速表和表之间的连接。
4. 在使用分组和排序进行查询数据时,也可以显著的减少查询中分组和排序的时间。
索引的缺点:
1. 创建索引和维护索引需要时间,并且随着数据量的增加所耗费的时间也会增加。
2. 索引需要占用磁盘空间,除了数据表占数据空间外,每一个索引还要占一定的物理空间(innoDB 数据表上的索引是表空间的一个组成部分),如果有大量的索引,索引文件可能比数据文件更快达到最大文件尺寸。
3. 当对表中数据进行 增加/删除/修改 等操作时,索引也会动态维护,这样就降低了数据库的维护速度。
索引分类:1.普通索引 2.唯一索引 3.主键索引 4. 组合索引 5.全文索引 6.空间索引
创建表时添加索引
create table 表名 (
属性名 数据类型 【完整性约束条件】,
属性名 数据类型 【完整性约束条件】,
......
属性名 数据类型 【UNIQUE/FULLTET/SPATIAL】INDEX/KEY
(属性名 1 【(长度)】【asc/desc】)
);
UNIQUE/FULLTET/SPATIAL为可选参数,分别表示唯一索引,全文索引和空间索引;INDEX/KEY为同义词,两者作用相同,用来指定创建索引;asc/desc 指定升序或者降序的索引值存储。
标签:分类 生成 结构 b树 最大 创建索引 使用 指针 asc
原文地址:https://www.cnblogs.com/hzxxfx/p/11614551.html