mysql 事务 注意 优化_MySQL日常SQL优化注意事项

1.在where条件中避免双百分号“%col%”

在MySQL的SQL查询条件中使用“%col%”无法使用索引而进行全表扫描影响查询效率

2.避免函数出现在where条件中

例:where year(‘activedate’)= ‘2018’在条件中使用函数即使该字段有索引,执行计划也不会使用索引而进行全表扫描

3.避免数据类型不一致

执行查询操作的时候,在where条件中使用与字段类型相同的值,尽量避免让MySQL执行转化操作,

例:activedate 

4.读取适当的记录及需要的字段,避免select * from tab_name

5.分组统计时可以禁止排序

MySQL默认情况下对所有group by的字段进行排序,如果查询包括group by 又不需要排序操作可以禁止order by null

6.减少使用子查询或者不使用子查询,可以用join代替

7.创建表的时候选择合适的字段属性,尽量让字段not null,这样数据库在执行查询的时候不用比较null值

8.在执行DML(update、insert、delete)操作的时候使用事务维护数据的完整性

begin;

DML语句;

commit;

9.锁定表,当进行批量操作的时候使用事务会锁定数据库,这时如果有大量的用户访问会造成延迟,可以用锁定表来代替事务

lock table write select col1,col2 from tab_name.....

update ...;unlocktables;

10.合理使用索引

索引是提高数据库性能的有效方法,但创建索引要合理,避免建在大量重复值的字段上。在where、join、order by等字段上合理创建索引来提高性能。

以上个人总结供参考,欢迎指正!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值