(索引)创建MySQL索引

建立索引的必要性

主键默认是建立索引的,而且具有唯一性
合适地建立索引后比不建立索引,提高了查询速度
创建索引的语法:

简单索引(可以有重复数据)
  create index  [indexname]  on [tablename]([column_name]);`
1
举例子说明如:

创建一个数据表,设定一些初始的数据,然后采用
 (insert  [tablename] ([column_name],[column]_name)...  select [column_name] [column_name]... from [tablename] 
1
按照此方法设置了一张具有重复数据,数据量达到了一千六百多万的数据表 

针对一张将近一千万数据库的数据表,查询一个设置索引的与不设置索引的列之间的差异,因为数据的重复性较高,所以查询时采用查询不存在的数据,这样就可以遍历整个数据表
数据库字段 


为name 字段创建简单索引 
 
花了一分多钟

分别对创建缩影的 name 字段和 没有创建索引的 date1 ,id字段 进行查询 
 
 

可以看出没有设置索引的date1 字段比有设置索引的查询时间慢了很多,但是我们没有为id 设置设置索引啊?
其实是在创建表时 我设置了id 为主键,数据库引擎默认给主键设置了索引;
创建索引,影响增改删的效率

数据的变化导致索引结构也发生变化 
举例: 


可以看出 在创建索引后对10w条数据进行修改时,需要3.62秒的时间,而删除索引后只需要0.5秒以内的时间。所以建立索引对增删改的影响还是比较大的。
--------------------- 
作者:寒砧 
来源:CSDN 
原文:https://blog.csdn.net/hanzhenbushihu/article/details/80712483 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/baidu_32542573/article/details/90141013