作家
登录

MySQL常用30种SQL查询语句优化方法

作者: 来源: 2018-03-30 00:04:09 阅读 我要评论

  1. select id from t where name like ‘%c%’ 

21、避免频繁创建和删除临时表,以削减体系表资本的消费。

22、临时表并不是弗成应用,适本地应用它们可以使某些例程更有效,例如,当须要反复引用大年夜型表或常用表中的某个数据集时。然则,对于一次性事宜,最好使 用导出表。

23、在新建临时表时,如不雅一次性插入数据量很大年夜,那么可以应用 select into 代替 create table,避免造成大年夜量 log ,以进步速度;如不雅数据量不大年夜,为了缓和体系表的资本,应先create table,然后insert。

24、如不雅应用到了临时表,在存储过程的最后务必将所有的临时表显式删除,先 truncate table ,然后 drop table ,如许可以避免体系表的较长时光锁定。

  1. select id from t where num/2=100 

25、尽量避免应用游标,因为游标的效力较差,如不雅游标操作的数据跨越1万行,那么就应当推敲改写。

26、应用基于游标的办法或临时表办法之前,应先寻找基于集的解决筹划来解决问题,基于集的办法平日更有效。

27、与临时表一样,游标并不是弗成应用。对小型数据集应用 FAST_FORWARD 游标平日要优于其他逐行处理办法,尤其是在必须引用几个表才能获得所需的数据时。在结不雅集中包含“合计”的例程平日要比应用游标履行的速度快。如不雅开辟时 间许可,基于游标的办法和基于集的办法都可以测验测验一下,看哪一种办法的效不雅更好。

28、在所有的存储过程和触发器的开端处设置 SET NOCOUNT ON ,在停止时设置 SET NOCOUNT OFF 。无需在履行存储过程和触发器的每个语句后向客户端发送 DONEINPROC 消息。

可以如许萌芽:

29、尽量避免向客户端返回大年夜数据量,若数据量过大年夜,应当推敲响应需求是否合理。

12、不要写一些没有意义的萌芽,如须要生成一个空表构造:

【编辑推荐】

  1. 深刻懂得MySQL——锁、事务与并发控制
  2. 几类关系型数据库的数据解决筹划
  3. binlog2sql实现MySQL误操作的恢复
  4. NoSQL数据库那么多,该若何选择你真的会吗?
  5. 关于MySQL线程池,这也许是今朝最周全的实用帖!
【义务编辑:庞桂玉 TEL:(010)68476606】

  推荐阅读

  重“量”更重“质” 华为云生态2018“大不同”

沙龙晃荡 | 3月31日 京东、微博、华为拭魅战专家与你合营商量容器技巧实践! 【51CTO.com原创稿件】3月22日,&>>>详细阅读


本文标题:MySQL常用30种SQL查询语句优化方法

地址:http://www.17bianji.com/lsqh/41055.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)