- select id from t where name like ‘%c%’
21、避免频繁创建和删除临时表,以削减体系表资本的消费。
22、临时表并不是弗成应用,适本地应用它们可以使某些例程更有效,例如,当须要反复引用大年夜型表或常用表中的某个数据集时。然则,对于一次性事宜,最好使 用导出表。
23、在新建临时表时,如不雅一次性插入数据量很大年夜,那么可以应用 select into 代替 create table,避免造成大年夜量 log ,以进步速度;如不雅数据量不大年夜,为了缓和体系表的资本,应先create table,然后insert。
24、如不雅应用到了临时表,在存储过程的最后务必将所有的临时表显式删除,先 truncate table ,然后 drop table ,如许可以避免体系表的较长时光锁定。
- select id from t where num/2=100
25、尽量避免应用游标,因为游标的效力较差,如不雅游标操作的数据跨越1万行,那么就应当推敲改写。
26、应用基于游标的办法或临时表办法之前,应先寻找基于集的解决筹划来解决问题,基于集的办法平日更有效。
27、与临时表一样,游标并不是弗成应用。对小型数据集应用 FAST_FORWARD 游标平日要优于其他逐行处理办法,尤其是在必须引用几个表才能获得所需的数据时。在结不雅集中包含“合计”的例程平日要比应用游标履行的速度快。如不雅开辟时 间许可,基于游标的办法和基于集的办法都可以测验测验一下,看哪一种办法的效不雅更好。
28、在所有的存储过程和触发器的开端处设置 SET NOCOUNT ON ,在停止时设置 SET NOCOUNT OFF 。无需在履行存储过程和触发器的每个语句后向客户端发送 DONEINPROC 消息。
可以如许萌芽:
29、尽量避免向客户端返回大年夜数据量,若数据量过大年夜,应当推敲响应需求是否合理。
12、不要写一些没有意义的萌芽,如须要生成一个空表构造:
【编辑推荐】
- 深刻懂得MySQL——锁、事务与并发控制
- 几类关系型数据库的数据解决筹划
- binlog2sql实现MySQL误操作的恢复
- NoSQL数据库那么多,该若何选择你真的会吗?
- 关于MySQL线程池,这也许是今朝最周全的实用帖!
推荐阅读
沙龙晃荡 | 3月31日 京东、微博、华为拭魅战专家与你合营商量容器技巧实践! 【51CTO.com原创稿件】3月22日,&>>>详细阅读
地址:http://www.17bianji.com/lsqh/41055.html
1/2 1