MySQL高级之索引

本文探讨了数据库中索引的重要性,特别是在数据量庞大时提高查询效率的方法。文章详细介绍了索引的概念、创建及删除索引的具体步骤,并讨论了索引使用的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

一般的应用系统对比数据库的读写比例在10:1左右(即有10次查询操作时有1次写的操作),而且插入操作和更新操作很少出现性能问题,遇到最多、最容易出问题还是一些复杂的查询操作

解决办法

当数据库中数据量很大时,查找数据会变得很慢

优化方案:建立索引

定义

索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度

目的

实现快速查询,优化查询速度

使用

  • 查看索引
show index from 表名;
  • 创建索引
    • 如果指定字段是字符串,需要指定长度,建议长度与定义字段时的长度一致
    • 字段类型如果不是字符串,可以不填写长度部分
create index 索引名称 on 表名(字段名称(长度))
  • 删除索引
drop index 索引名称 on 表名;

注意

  • 索引最主要解决的问题:当数据量较大时,且这些数据不需要经常修改,使用索引来加快查询速度
  • 对于比较小的表,查询开销不会很大,也没有必要建立另外的索引
  • 建立太多的索引将会影响更新和插入的速度,因为它需要同样更新每个索引文件
  • 对于一个经常需要更新和插入的表格,就没有必要为一个很少使用的where字句单独建立索引了
  • 建立索引会占用磁盘空间
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值