本文主要介绍sql语句优化(sql优化公式),下面一起看看sql语句优化(sql优化公式)相关资讯。
basic语言与数据库交互,sql和数据库需要很多步骤来解析和执行sql语句。以sql server为例,当数据库接收到查询分析器扫描的sql语句,并将其划分为逻辑单元(如关键字、标识符和运算符表达式)和一个查询树时,查询优化器会访问源表的数据库,选择一组最快的步骤返回结果集,消耗的资源较少。然后更新查询树以准确记录这一步,接着是数据库引擎,然后将查询结果返回给用户。可以看出,数据库引擎每执行一次sql逗号秒,就会有一笔不小的开销。如果提交的sql质量不高,甚至会出现逻辑错误,会造成不必要的时间和费用浪费:1。字段提取应基于避免使用选择字段1、字段2、字段3的*号和数量...事实证明,如果一个字段提取得少,数据库的提取速度就会提高。2.尝试使用existence而不是select count(*)来确定是否有记录。当优化器支持短路函数优化时,存在谓词。只要找到一行,没有其他行要扫描,就可以确定该表是否被覆盖。count函数只能使用统计表中所有行的行数。3、尽量使用(not) exist,not (not) in操作,而sql中sql性能总是较低。-声明选择的部门名称,且该部门不在deptno(选择deptno slave)-声明选择的部门名称,且该部门的部门不存在(选择emp slave) 4 .尽量不用,换成左边的外接。5。不要用或者尽量用。使用or会导致全表扫描,大大降低查询效率。6.注意从句的写法。我们必须考虑句子的顺序。要根据索引的顺序和程度来确定条件子句的顺序,尽可能保持字段和索引的顺序。7.尽量不要用。8.在编写sql语句了解表的索引结构时,索引的有效使用可以避免不必要的全表扫描,缩短查询时间,应该避免。空where子句中的= =、no、不存在、不存在、不喜欢和其他命令通常会导致全表扫描,索引将无效。9.在where子句中,任何运算(计算函数等。)会导致索引无效,这些操作应该有同等的权限,比如in (substring id,1,1)= ; , %图像应该是相同的;在结果* 10处30在结果30处;优化sql命令的基本原则是尽量减少类型转换和计算,充分利用表索引,减少整个表的扫描次数。
了解更多sql语句优化(sql优化公式)相关内容请关注本站点。