建立索引的必要性
- 主键默认是建立索引的,而且具有唯一性
- 合适地建立索引后比不建立索引,提高了查询速度
创建索引的语法:
- 简单索引(可以有重复数据)
create index [indexname] on [tablename]([column_name]);`
举例子说明如:
- 创建一个数据表,设定一些初始的数据,然后采用
(insert [tablename] ([column_name],[column]_name)... select [column_name] [column_name]... from [tablename]
- 按照此方法设置了一张具有重复数据,数据量达到了一千六百多万的数据表
- 针对一张将近一千万数据库的数据表,查询一个设置索引的与不设置索引的列之间的差异,因为数据的重复性较高,所以查询时采用查询不存在的数据,这样就可以遍历整个数据表
数据库字段
为name 字段创建简单索引
花了一分多钟- 分别对创建缩影的 name 字段和 没有创建索引的 date1 ,id字段 进行查询
- 可以看出没有设置索引的date1 字段比有设置索引的查询时间慢了很多,但是我们没有为id 设置设置索引啊?
- 其实是在创建表时 我设置了id 为主键,数据库引擎默认给主键设置了索引;
创建索引,影响增改删的效率
数据的变化导致索引结构也发生变化
举例:
- 可以看出 在创建索引后对10w条数据进行修改时,需要3.62秒的时间,而删除索引后只需要0.5秒以内的时间。所以建立索引对增删改的影响还是比较大的。