位置: 编程技术 - 正文

SQL SERVER 的SQL语句优化方式小结(sql server?)

发布时间:2024-02-26
1、SQL SERVER 的性能工具中有SQL Server Profiler和数据库引擎优化顾问,极好的东东,必须熟练使用。 2、查询SQL语句时打开“显示估计的执行计划”,分析每个步骤的情况 3、初级做法,在CPU占用率高的时候,打开SQL Server Profiler运行,将跑下来的数据存到文件中,然后打开数据库引擎优化顾问调用那个文件进行分析,由SQL SERVER提供索引优化建议。采纳它的INDEX索引优化部分。 4、但上面的做法经常不会跑出你所需要的,在最近的优化过程中CPU占用率极高,但根本提不出我需要的优化建议,特别是有些语句是在存储过程中并且多表联立。这时就需要用中级做法来定位占用CPU高的语句。 5、还是运行SQL Server Profiler,将运行结果保存到某个库的新表中(随便起个名字系统会自己建)。让它运行一段时间,然后可以用 select top * from test where textdata is not null order by duration desc 这个可以选出运行时间长的语句,在ORDER BY 中可以替换成CPU、READS,来选出CPU占用时间长和读数据过多的语句。 定位出问题的语句之后就可以具体分析了。有些语句在执行计划中很明显可以看出问题所在。 常见的有没有建索引或索引建立不合理,会出现table scan或index scan,凡是看到SCAN,就意味着会做全表或全索引扫描,这是带来的必然是读次数过多。我们期望看到的是seek或键查找。 6、怎么看SQL语句执行的计划很有讲究,初学者会过于关注里面显示的开销比例,而实际上这个有时会误导。我在实际优化过程中就被发现,一个index scan的执行项开销只占%,另一个键查找的开销占%,而键查找部分根本没有可优化的,SEEK谓词就是ID=XXX这个建立在主键上的查找。而仔细分析可以看到,后者CPU开销0.,I/O开销0.。而前者呢,CPU开销1.4xxxx,I/O开销也远大于后者。因此,优化重点应该放在前者。 7、如何优化单个部分,一个复杂的SQL语句,SQL SERVER会很聪明地重组WHERE后的语句,试图匹配索引。选中带优化的步骤,选择旁边的‘属性”,再选择其中的“谓词”,将其中部分复制下来,这部分就是分解后的WHERE 语句,然后在查询界面中select * from 表 where 刚才复制下来的“谓词”。这个就是需要优化的部分,既然已经走到这一步了,大部分人应该能手动建立索引了,因为这里的WHERE语句比之前的肯定简单不少。(在我项目中原始SELECT语句的WHERE部分有个条件组合,涉及6个字段,提取出来要优化的部分就4个条件,涉及到3个字段。新的索引建立后,CPU占用率一下子就降低了,而且新建立的索引涉及的字段属于不常UPDATE的部分,频繁的读写操作不会影响UPDATE的效率) 8、

标签: sql server?

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

上一篇:SQL SERVER 删除重复内容行(sqlserver删除重复)

下一篇:数据库高并发情况下重复值写入的避免 字段组合约束(数据库高并发怎么解决)

  • 成本利润率和销售利润率哪个大
  • 税率变化递延所得税资产怎么计算
  • 一般纳税人缴纳税款
  • 个人接私活需要缴税吗
  • 差旅费哪些可以抵扣进项税
  • 财务担保费计入什么科目
  • 堤围费是什么意思
  • 个人所得税经营所得申报
  • 人力资源代缴社保合法吗
  • 投资可赎回基金怎么入账?
  • 理财产品分红怎么入账
  • 模具维修费用清单表格
  • 学校应该缴纳的税
  • 小规模纳税人开具增值税专用发票
  • 小微企业按季度报送财务报表
  • 上年度的费用今年开票分录
  • 年利率的计算公式(免利息税)
  • 委托代付工程款会计分录
  • win10 20h2更新时间久
  • 增值税专用发票和普通发票的区别
  • 成本核算核算要素有哪些
  • 公司+农户经营模式是什么意思
  • linux 计算字符数
  • 微软windows11正式版下载
  • 企业的借款利息支出全部可以税前扣除吗
  • php string函数
  • 先付费后收到发票怎么做分录
  • 建筑业主营业务收入二级科目有哪些
  • 内置管理员无法打开此应用
  • php和mysql的联合使用
  • 出租不动产预缴增值税计算公式
  • 专项储备计提和使用
  • 九斑蛾,瑞士 (© Thomas Marent/Minden Pictures)
  • php tr td
  • pdf在线预览备注
  • 其他免税销售额>0时,免税性质代码不能为空是什么意思
  • vue springboot
  • thinkphp和php
  • 怎么做应收应付账款分录
  • 公司间代收代付
  • 公司让员工提前离职,可以结清工资吗
  • 其他综合收益是利润表项目吗
  • 劳务支出和应付职工薪酬
  • 公司收到个人汇款怎么开发票
  • 零申报失败什么原因
  • 长期股权投资采用成本法核算的,应按被投资单位
  • 支付土地补偿款计入什么科目
  • 纳税人缴纳的税款叫做什么
  • 新准则下企业计划的内容
  • 预提成本和冲回成本金额不一致情况说明
  • 购入固定资产的增值税计入成本吗
  • 企业工会经费计提比例
  • 固定资产的处理方法
  • 查出以前年度的虚开发票,如何补税
  • 关于单独计价的规定
  • 签订购货合同,计划下月购入的固定资产
  • SQLServer XML数据的五种基本操作
  • mac 命令大全
  • centos mtr
  • centos7光盘挂载方法
  • hptasks.exe是病毒吗 是什么进程 hptasks进程说明
  • win8如何关闭杀毒软件
  • win8系统可以装win7系统吗
  • 虚拟机怎样用
  • windows7开机
  • win7旗舰版使用ie8特别卡怎么回事?
  • 华硕和联想笔记本电脑哪个好点
  • 如何关闭win8.1自动更新
  • 高效的python
  • unity3d怎么移动物体
  • js中的垃圾回收机制有哪些方法
  • 在其他地方 英文
  • js禁用键盘事件
  • jquery返回顶部
  • 如何在脚本中调字体
  • js div拖动
  • 点击电子税务局里的税务数字账户不跳转怎么回事
  • 12366国税网上申报
  • 企业税费如何计算
  • 预缴的税额可以用留底抵扣吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号