您好,欢迎来到叨叨游戏网。
搜索
您的当前位置:首页关于数据库索引

关于数据库索引

来源:叨叨游戏网


一、 什么是索引?

定义:索引是对数据库表中一列或多列的值进行排序的一种结构。

目的:可以快速访问数据库表中的特定信息;合理的设计索引可以很大程度减轻数据库的查询压力

二、索引的优缺点

优点:

1大大加快数据的查询速度

2唯一索引可以保证数据库表每一行的唯一性

3加速表连接时间

缺点:

1创建、维护索引要耗费时间,所以索引数量不能过多

2索引是一种数据结构,会占用磁盘空间

3对表进行更新操作时,索引也要动态维护,降低了维护速度

三、常用索引的数据结构

哈希表、有序数组、搜索树

四、索引的类型

1普通索引(最基本的)

username是列名,user是表名

2唯一性索引。索引列只能出现1次

create unique index `username` ON user(username); 

3主键索引。不能有重复的列,必须指定primary key。不允许空值。主键更适合选择不容易更改的列数据(比如身份证号)

4全文索引

create fulltext index `username` ON user(username); 

5联合索引

五、索引失效的情况列举

1用了null

select * from user where username is not null;

2用了or。如下,只要password列没有索引,那么username的索引也不会起作用

select * from user where username="cindy" or password="123123" 

3用了not,in,not exists,<>。当查询条件为非时,执行语句可能是全表扫描

select * from user where password not in ("123123")

4用了%开头的like查询。%在前面,走的是全表扫描;%在最后,走的是索引

select * from user where username like "%c"

六、适合作为索引的列?

1主键字段

2被搜索次数的多的列。比如跟在where后的列

3连接表的条件字段。目的:加快连表查询速度

4作为排序、统计或者分组的字段

相对的,where条件用不到的字段,不适合作为索引

参考文章

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- gamedaodao.net 版权所有 湘ICP备2024080961号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务