位置: 编程技术 - 正文

SQL命令优化需要记住的9点事项(sql优化方式)

编辑:rootadmin

推荐整理分享SQL命令优化需要记住的9点事项(sql优化方式),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:sql优化常用的15种方法,sql server sql优化,sql优化什么意思,sql优化口诀,sql优化的一般步骤,sql优化常用的15种方法,sql命令优化需要注意什么,sql优化in,内容如对您有帮助,希望把文章链接给更多的朋友!

与数据库交互的基本语言是sql,数据库每次解析和执行sql语句多需要执行很多步骤。以sql server为例,当数据库收到一条查询语句时,语法分析器会扫描sql语句并将其分成逻辑单元(如关键词、表达式、运算符和标识符)并生成查询树,最后查询优化器将分析所有可以访问数据库的源表的方法,从中选择一组返回结果集最快且消耗资源较少的步骤。查询树随即进行更新以准确记录这个步骤,接着交由数据库引擎开始执行,然后将查询结果返回给用户。可见数据库引擎每次执行sql命令都会有很大的开销,如果提交的sql质量不高甚至有逻辑错误就会造成无谓的开销和时间浪费。为了避免这种情况,在使用sql命令时应注意以下原则:

1、字段提取要按照“需多少、提多少”的原则,避免“select *”,尽量使用“select 字段1,字段2,字段3 ...”。实践证明,每少提取一个字段,数据库提取速度就会有相应的提升。提升的速度还要由你舍弃的字段大小来决定。

2、尽量使用exists代替select count(*) 来判断是否存在记录。优化器优化exists谓词时支持短路功能。只要找到一行,不需要再扫描其他行就可以确定该表是否包涵行了。count函数只有在统计表中所有行的行数时使用。

3、尽量使用(not) exists代替(not) in 操作,in的sql性能总是比较低的。

4、尽量使用not in,可以用left outer join代替它。

SQL命令优化需要记住的9点事项(sql优化方式)

5、尽量不要使用or,使用or会引起全表扫描,将大大降低查询效率

6、注意where子句的写法,必须考虑语句顺序,应该根据索引顺序、范围大小来确定条件子句的前后顺序,尽可能地让字段顺序与索引顺序一致,范围从大到小。

7、尽量使用“>=“,不用使用”>“

8、在编写sql语句之前了解表的索引结构。有效地利用索引能够避免不必要的全表扫描,缩短查询时间。应该避免在where子句中使用is null、<>、!=、not、 not exist、not in、not like等命令,他们通常会引起全表扫描导致索引无效。

9、在where 子句中,任何对列的操作(函数、计算等)讲导致索引失效,这些操作应该尽可能地移至等号右边,如where substring(id,1,1)=‘a‘,应该写成where id like 'a%‘;where result*> 应该写成where result >;

对sql命令进行优化的基本原则是尽量减少类型转换和计算,充分利用表索引,减少全表扫描的次数。

教你如何看懂SQL Server查询计划 对于SQLServer的优化来说,优化查询可能是很常见的事情。由于数据库的优化,本身也是一个涉及面比较的广的话题,因此本文只谈优化查询时如何看懂SQ

sql server 数据库备份还原的图文教程 MSSQL是微软公司的一款数据库管理系统,本文将详细介绍MSSQL中数据库的备份和还原功能。1、首先请保证您的备份文件是bak文件,并且备份文件能够

SqlServer中First_Value函数简单分析 First_Value返回结果集中某列第一条数据的值,跟TOP1效果一样,比较简单的一个函数先贴测试用代码DECLARE@TestDataTABLE(IDINTIDENTITY(1,1),DepartmentVARCHAR(),LastName

标签: sql优化方式

本文链接地址:https://www.jiuchutong.com/biancheng/319023.html 转载请保留说明!

上一篇:SqlServer提示“列前缀tempdb.无效: 未指定表名”问题解决方案(sql server列属性)

下一篇:教你如何看懂SQL Server查询计划(教你如何看懂标签)

  • 培训费的其他费用是什么
  • 增值税是5%的是什么
  • 核定征收季度核定销售额
  • 厂区打地坪会计怎么做账
  • 投资盈利后可以买股票吗
  • 公司股份无偿转让怎么办理流程
  • 科目期初余额的录入需要从上级科目开始
  • 劳务支付
  • 社平工资调整补差什么意思
  • 报销发票会计怎么处理
  • 代发农民工工资承诺书
  • 企业发现多缴税款超过3年
  • 代扣代缴个人所得税税率表
  • 税务申报逾期怎么在网上申报
  • 营改增房租增值税税率
  • 2017年7月1日开始实施的税法新规
  • 远程认证是什么意思
  • 原始凭证谁负责
  • 拍卖所得房产计税依据
  • 短期借款的明细科目是什么
  • 税务申报系统叫什么
  • 集体福利是否可以抵税
  • 华为手机怎么删除多余的桌面
  • TP-Link TL-WR841N管理员密码(初始密码)是多少
  • win11和win10比较
  • 出纳现金管理的目标与方法
  • thinkphp5框架介绍
  • 电脑上fci是什么文件
  • 政策性搬迁损失扣除年度
  • 材料发票入账
  • 前端打包发布
  • PHP:mcrypt_cfb()的用法_Mcrypt函数
  • PHP:mcrypt_module_is_block_algorithm_mode()的用法_Mcrypt函数
  • thinkphp i方法
  • node express安装
  • 日期按钮
  • php eval绕过
  • php二分查找算法两种方法
  • 苹果cmsv10官网
  • 补开发票对公司有什么影响
  • 餐饮营改增什么时候开始的
  • 流动资产的含义及常见项目
  • 结转损益的凭证需要打印吗
  • 外币财务报表的未分配利润
  • 织梦安装步骤
  • 银行电子承兑到期了怎么兑现操作
  • 公司实行全成本核算工资怎么算
  • 建筑行业收到的工程转给项目经理成本票从哪来
  • 事业单位大型修缮与办公用房维修费区别
  • 工程违约金账务处理规定
  • 复利终值和年金终值的公式
  • 分期付款购车需要什么
  • 其他债权投资有哪些科目
  • etc 电子票
  • 退回上年度企业所得税
  • 其他业务支出包括哪些内容科目
  • 企业和职工之间的财务关系属于
  • 会计记账凭证怎么装订视频
  • phpstorm配置php环境 mac os
  • centos7配置tomcat
  • 服务器上文件共享
  • win10mobile下载官网
  • windows10周年更新
  • Win10 Mobile 10586正式版即将向Insider用户推送
  • win10开机后没声音
  • python函数详解
  • 铁嘴啥意思
  • jquery示例
  • 用简洁的语言推荐一本书
  • document.getElementByTagName
  • js解析文本文件
  • jquery easy ui
  • nodejs爬虫技术
  • mongoose教程
  • jquery?
  • 其他收入工会经费必须申报吗
  • 企业职工病退后一般能领多少钱
  • 如何打印个人所得税明细
  • 什么是税务证书密码
  • 中国有没有豁免权
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设