索引是一种特殊的文件(innoDB数据表上的索引是表空间的一个组成部分),包含了表里所有记录的引用指针,就相当于书的目录,可以方便查找数据。


sql语句建立索引:

1
2
3
4
5
6
7
8
9
set profiling=1;  -- 开启运行时间监测
-- 执行一些操作后:
show profiles; -- 查看执行时间
-- --
-- 创建索引:
create index index_name on table_name(字段名[(数值)]) ; -- ()中的数值是字符类型才需要,如果是数字类型不需要
-- --
show index from table_name; -- 查看某个表的索引
drop index index_name(索引名) on table_name; -- 删除索引

创建索引,在使用sql查询时可以通过索引来查找,这样查找会比没有索引快很多,但是建立索引是在数据库表的数据很大很多的时候建立索引,如果数据记录不多,就没有必要建立索引。


索引的原理实际上是通过算法,把各个数据记录分区,当查找某个记录时,就根据该记录在哪个分区,然后到这个分区里面找,这样就大大减少了查询的时间,效率更高。


建立表的时候,如果设置了主键/外键,那么数据库系统通常会自动为主键/外键创建索引~