SQL优化

本文探讨了MySQL中索引的构建原则,包括适合与不适合建立索引的字段类型,并提出了多项查询优化建议,如避免使用*,优化WHERE条件及多表查询等,旨在提升数据库操作效率。

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

索引是帮助MySQL高效获取数据的一种数据结构

索引优势:提高查询排序的速度

索引劣势:降低更新的速度(因为要维护索引),索引要占一定空间

1,什么字段适合建立索引

1,主键自动建立索引

2,外键字段

3,频繁作为查询条件的字段

4,频繁作为排序条件的字段

5,查询中统计或者分组的字段

2,什么字段不适合建立索引

1,where中用不到的字段

2,经常要增删改的字段

3,表记录数太少

4,过滤性不好的字段(比如说性别就属于当中),手机号,身份证号属于过滤性好的字段(通过这种字段查询的结果很少,很精确)

优化1 查询时 列名 比 *好

优化2 where and条件 是从右向左判断,所以最好是把假 的判断放在右边

  • or 最好把真的放在右边

优化3 在having和where 选择哪个好?

  • 尽量使用where,having是先分组,再过滤,而where是先过滤再分组,where应该写在group by前面
  • 记录数越多,效果越明显

优化4 多表查询好于子查询

  • where 后面不能使用多行函数,而having可以使用多行函数

优化5 尽量不要使用集合运算,效率低(INTERSECT)

优化6 选择正确的存储引擎(MyIASM引擎适合读 InnoDB引擎适合并发度较高的场景)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值