MySQL 建立索引

建立索引的必要性

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

创建索引的语法:

  • 简单索引(可以有重复数据)
  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秒以内的时间。所以建立索引对增删改的影响还是比较大的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值