- 主页 > 生活百科 > >
【建议】尽量把一些典型外部调用移出事务,如调用 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 … 。
推荐阅读
-
-
-
母亲|儿子伙同公园老板骗父亲,却让网友直呼太感动…
-
-
医疗|今年最牛A股已涨10倍,盈利暴增25倍,机构爆炒,还有这些基金提前布局
-
-
中华人民共和国应急管理部|应急科普丨遇到台风不要慌!送你3个安全小锦囊
-
-
「娱乐录君」真诚可靠,晚年生活很幸福,生活中“傻人有傻福”的3种生肖女
-
[和平精英]和平精英:火箭摩托能送人吗?玩家连抽两个,打开背包后脸绿了
-
华为|领先全球!华为建未来人工智能计算中心:每秒三十亿亿次计算能力
-
『癌症』看舌头可以预测癌症吗?有2种舌象的人注意了,抽空去检查下
-
-
-
看度自贡|130亿元!1到10月大安区招商引资“成绩单”来了
-
cnBeta|Series X不再支持Kinect,[图]微软确认Xbox
-
高速公路上如果误入ETC,车主该倒车吗?交警:解释最后一遍!
-
-
-
封面新闻|三方签署协议 粤港澳大湾区将打造国际先进海事管理示范区