1.在where条件中避免双百分号“%col%” 在MySQL的SQL查询条件中使用“%col%”无法使用索引而进行全表扫描影响查询效率 2.避免函数出现在where条件中 例:where year(‘activedate’)= ‘2018’在条件中使用函数即使该字段有索引,执行计划也不会使用索引而进行全表扫描 3.避免数据类型不一致 执行查询操作的时候,在where条件中使用与字段类型相同的值,尽量避免让MySQL执行转化操作, 例:activedate < STR_TO_DATE('2018-08-08', '%Y-%m-%d')不要写成activedate< '2018-08-08' 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等字段上合理创建索引来提高性能。 以上个人总结供参考,欢迎指正!
分享名称:MySQL日常SQL优化注意事项
网站网址:https://www.cdcxhl.com/article14/gciede.html
成都网站建设公司_创新互联,为您提供手机网站建设、网站营销、服务器托管、域名注册、搜索引擎优化、微信公众号
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联