mysql索引

本文详细解析了数据库索引的工作原理,包括其在提高数据检索效率方面的作用,尤其是在大数据量场景下。文章还介绍了索引的类型、创建注意事项以及如何通过SQL语句评估查询优化效果。

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

参照:https://zhidao.baidu.com/question/1435189115200686659.html

因数据库的内容是写入到磁盘中,因此在进行数据读取时如果没有索引会进行全表扫描获取数据判断过滤。

如果有索引,索引会单独占据一部分磁盘,查找时会先扫描索引,从索引中获取索引数据和整行数据在磁盘的位置,

从而大大提高了查找效率。

        1. 在数据量小时,无多大意义。

        2. 数据量大时,效率可达到成千上万倍。

创建索引注意点:

        1.索引分为一般索引和唯一索引。索引列不可为Null,否则会使得索引失效。

        2. 当数据量大时,对于排序字段也应该建立索引。

        3. 复合索引的左前缀,越是靠前的越会被优先筛选,形成正式索引为:(A,B,C) -> (A,B,C) (A,B) (A)

查看写的sql语句是否可优化,可使用

explain + 查询语句

其中type列的值从好到坏

system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL

possible_keys 可给出可能的key值。

rows:显示MySQL认为它执行查询时必须检查的行数。

ref:显示使用哪个列或常数与key一起从表中选择行。

 

转载于:https://www.cnblogs.com/DennyZhao/p/9923124.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值