0
点赞
收藏
分享

微信扫一扫

SQL优化系列(二)--- 索引(MySQL)

火热如冰 2022-04-14 阅读 36
mysqlsql

前言情况说明: 数据库中往往存储了大量的数据,普通查询默认的方法是调用顺序全盘扫描。

例如有这样一个查询 :

select * from user_info where id = 1000

如果没有索引,就会遍历整个 user_info 表,直到找完 id = 1000 的这些数据为止;为了提高查询的效率,可以使用 “ 索引 ”;

1:什么是索引?

索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可以快速访问数据库表中的特定信息;

索引就是恰当的排序,经过某种算法优化,使查找次数要比不使用索引少的多得多;

2:索引的缺点:

1:索引数据可能要占用大量的存储空间,因此并非所有数据都适合索引;(这里可以理解为索引就是牺牲了存储空间 来 换取 查询速度)【还有一点就是,在建立索引之前,你必须对该表的数据结构有深刻的理解】

2:索引改善了检索操作的性能,但降低了数据插入,修改和删除的性能

3:创建索引:

语法create index 索引名 on 表名(列名); (索引名称尽量取的见名知意--好定位)

4:查看索引:

语法 .indices (注意前面的“点”)

5:删除索引:

语法drop index 索引名;

6:创建联合索引

语法create index 表名 on persons(列名1,列名2);

或者使用:   ALTER TABLE `table_name` ADD INDEX (`col1`,`col2`,`col3`);

7:创建索引的注意事项:

 a:尽量建立在作为“主键”的列上;

b:在经常需要排序的列上创建索引;

c:在经常使用作为  where 条件 的列上创建索引,加快条件的判断速度; 

d:注意索引的创建并不影响查询结果,只会提高查询速度;

举报

相关推荐

0 条评论