加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_镇江站长网 (https://www.0511zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql select的核查有哪些

发布时间:2021-12-23 11:23:46 所属栏目:MySql教程 来源:互联网
导读:这篇文章主要介绍mysql select的审核有哪些,在日常操作中,相信很多人在mysql select的审核有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答mysql select的审核有哪些的疑惑有所帮助!接下来,请跟着小编一起来学习吧
这篇文章主要介绍“mysql select的审核有哪些”,在日常操作中,相信很多人在mysql select的审核有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql select的审核有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
 
·      禁止使用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的审核有哪些”的学习就结束了,希望能够解决大家的疑惑。

(编辑:应用网_镇江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!