【MySQL|进阶篇】SQL优化

摘要:

        主要介绍了数据库优化关键点:数据批量插入时采用顺序插入并手动控制事务;主键设计需考虑页分裂和合并问题;order by和group by操作要遵循索引最左前缀法则;update操作尽量使用索引字段避免表锁;count()和limit查询需特殊优化。视图使用注意事项:CASCADED和LOCAL选项决定条件检查范围,更新视图需满足与基表一对一关系。通过合理运用这些优化技巧,可显著提升数据库操作效率。

一,数据插入(load进行批量插入)

顺序插入比乱序插入更好,手动控制事务

二,主键优化

1,页分裂(乱序插入会出现页分裂从而影响性能)

2,页合并(MERGE_THRESHOLD阈值可以自行指定)

3,设计原则

三,order by优化

using index        通过索引返回排序数据,性能高

using filesort      需要返回的数据在缓冲区排序

Tips:在where语句中,如果存在最左前缀,那么就可以使用联合索引。而在order by语句中,必须按照索引的顺序使用索引,如果不按照索引的顺序使用索引,那么会导致无法使用联合索引,从而降低查询效率。

四,group by优化

1,分组操作会根据索引提高效率

2,分组操作时,索引的使用也满足最左前缀法则 

五,limit优化

 六,count()优化

七,update优化

        如果根据非索引字段进行更新操作,MySQL 只能全表扫描从而由行锁变成表锁,所以update更新的条件尽量采用索引字段

八,视图

1,CASCADED(默认值)

 CASCADED会向上级联依赖当前添加该条件选项视图的所有视图的限定条件,如果都满足才可以执行插入操作

2,LOCAL

LOCAL表示只对当前添加该条件选择的视图的限定条件有效,而不会向上级联其依赖的视图的限定条件

3,更新条件

视图中的行与基础表中的行必须存在一对一的关系,该视图才可以更新

4,作用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值