共计 759 个字符,预计需要花费 2 分钟才能阅读完成。
这篇文章主要介绍“mysql select 的审核有哪些”,在日常操作中,相信很多人在 mysql select 的审核有哪些问题上存在疑惑,丸趣 TV 小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql select 的审核有哪些”的疑惑有所帮助!接下来,请跟着丸趣 TV 小编一起来学习吧!
· 禁止使用 select *,只获取必要字段
解读:
(1)select * 会增加 cpu/io/ 内存 / 带宽的消耗
(2)指定字段能有效利用索引覆盖
(3)指定字段查询,在表结构变更时,能保证对应用程序无影响
· insert 必须指定字段,禁止使用 insert into T values()
解读:指定字段插入,在表结构变更时,能保证对应用程序无影响
· 隐式类型转换会使索引失效,导致全表扫描
· 禁止在 where 条件列使用函数或者表达式
解读:导致不能命中索引,全表扫描
· 禁止负向查询以及 % 开头的模糊查询
解读:导致不能命中索引,全表扫描
以 5 万数据为临界点。。。超过 5 万 就不使用 like 必须修改
· 禁止大表 JOIN 和尽可能避免子查询
· 同一个字段上的 OR 必须改写问 IN,IN 的值必须少于 50 个
· 应用程序必须捕获 SQL 异常
解读:方便定位线上问题,
查看执行计划可知子查询在相同条件下是会比表关联多一个步骤的
同时会产生一个临时表。。
关联查询的效率 比 子查询效率更好
· 5.6 之后的 mysql 关联表查询可以使用 in 但是禁止使用 exist
In 的执行方式已经在 5.6 及之后的版本优化过了
Exist 还是老的执行方式。禁止使用
到此,关于“mysql select 的审核有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注丸趣 TV 网站,丸趣 TV 小编会继续努力为大家带来更多实用的文章!