- 主页 > 生活百科 > >
【建议】尽量把一些典型外部调用移出事务,如调用 Web Service,访问文件存储等,从而避免事务过长 。 【建议】对于 MySQL 主从延迟严格敏感的 select 语句,请开启事务强制访问主库 。排序和分组
- 【建议】减少使用 order by,和业务沟通能不排序就不排序,或将排序放到程序端去做 。order by、group by、distinct 这些语句较为耗费 CPU,数据库的 CPU 资源是极其宝贵的 。
- 【建议】order by、group by、distinct 这些 SQL 尽量利用索引直接检索出排序好的数据 。如 where a = 1 order by 可以利用 key(a, b) 。
- 【建议】包含了 order by、group by、distinct 这些查询的语句,where 条件过滤出来的结果集请保持在 1000 行以内,否则 SQL 会很慢 。
线上禁止使用的 SQL 语句
- 【高危】禁用 update|delete t1 … where a = XX limit XX; 这种带 limit 的更新语句 。因为会导致主从不一致,导致数据错乱 。建议加上 order by PK 。
- 【高危】禁止使用关联子查询,如 update t1 set … where name in(select name from user where …);,效率极其低下 。
- 【强制】禁用 procedure、function、trigger、views、event、外键约束 。因为他们消耗数据库资源,降低数据库实例可扩展性 。推荐都在程序端实现 。
- 【强制】禁用 insert into … on duplicate key update … 在高并发环境下,会造成主从不一致 。
- 【强制】禁止联表更新语句,如 update t1, t2 where t1.id = t2.id … 。
推荐阅读
-
极光说历史|一人仅能分到一颗,古人吃荔枝有多难?乾隆收获40颗荔枝分给皇妃
-
华为手机非常冷门的实用小技巧,隐藏得很深所以很多人都没有开启
-
潮品汇|12了,看了Reno4 Pro,我决定不再等iPhone
-
-
-
大来嗒|一天收获上百元,但是很多人都不愿意,这种东西摘1斤可得4元利润
-
-
宁静|《浪姐》排名重新洗牌,大姐大宁静未进前十名,第一名太让人意外
-
日本|日本为什么敢一直挑衅中国,一点不怕中国吗?普京说出了实情
-
-
人民网|印尼新冠肺炎新增确诊病例1560例 累计109936例
-
-
-
现代|买高R的先等等!现代钢炮飞思商品车现身国内:2.0T榨出280马力
-
-
贵州恒丰|王新欣下课!贵州恒丰折腾4年痛失好局,美女老板真不懂球
-
-
榜单|上海在线新经济榜单入围名单出炉!谁能角逐50强?
-
丫丫谈时尚|加上裹腿设计, 是展现长腿的利器,黑色尖头细高跟鞋,
-
第一时间解读:湖南企事业机关单位退休人员养老金调整方案