位置: 编程技术 - 正文

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

编辑:rootadmin
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删除重复)

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

  • 企业缴纳增值税会计科目怎么做
  • 暂估入账纳税调整填哪里
  • 应交税费是什么会计科目
  • 应该如何
  • 银行对账单放前面还是放后面
  • 内涵报酬率和必要投资报酬率
  • 户外公司招牌
  • 工资 小数点
  • 房地产开发企业增值税税率
  • 供用电合同主要有
  • 付垫资款给其他公司应该怎么做账?
  • 汇算清缴自查报告
  • 会计增长知识方面
  • 企业拆迁补偿款需要开发票吗
  • 没收入就没附加税么?
  • 费用报销单与付款申请单的用处区别
  • 资本公积要交印花税账簿税吗
  • 预缴的税款可以互抵吗
  • 借给其他公司借款会计分录
  • 房地产记账凭证
  • 销售折让怎么处理
  • 政府补贴物业公司
  • 法院执行费怎么收取法律依据
  • 劳务报酬怎么申报个税电子税务
  • ios14 举报短信
  • 治理层和管理层包括哪些
  • 配股条件是什么意思
  • php adodb
  • win7使用小技巧
  • executor进程
  • PHP:curl_errno()的用法_cURL函数
  • 收费公路通行费财政电子票据可以抵扣吗
  • 彻底清理缓存
  • 产生转让损失
  • 前端项目中遇到的问题,如何解决
  • 销售折扣属于什么项目
  • PHP:imagecreatetruecolor()的用法_GD库图像处理函数
  • php数据库分页是怎么实现的
  • php url函数
  • 注意力机制cbam
  • 机器学习--使用朴素贝叶斯进行垃圾邮件分类
  • 集团对子公司拨款的规定
  • 计提坏账准备需要确认递延所得税吗
  • 增值税申报表各栏怎么填
  • 企业净利润率是多少好
  • 固定资产多少可以一次摊销
  • sql server2014教程
  • 待处理财产损益是备抵类科目吗
  • 一般纳税人企业要交哪些税
  • 长期待摊费用的最新账务处理
  • 企业所得税汇算清缴时间
  • 可供分配利润包括提取的盈余公积吗
  • 长期待摊费用的最新账务处理
  • 商业承兑背书后怎么办
  • 年数总和法和双倍余额递减法的公式
  • 空头支票是什么数字
  • mysql的随机函数
  • win7系统弹出cd
  • windows2008防火墙允许远程桌面
  • 如何安装vmware10
  • anddroid.process.acore进程停止什么意思
  • 在windows的命令提示符下,命令名在实际输入时规定
  • Win10任务栏天气怎么关闭
  • windows xp.exe
  • 进程关不掉怎么解决
  • 电脑出现nobootdevicefound咋办
  • win7系统怎么设置屏保图片
  • win7如何设置多用户
  • opengl 模型
  • Unity3d OnApplicationPause与OnApplicationFocus 判断游戏暂停还是重新启动
  • 基于javascript的毕业设计
  • java颜色代码对照表图片
  • 命令适用于
  • js点击
  • Unity3D的iTween
  • unity3d游戏开发教程
  • javascript几种类型
  • Android EventBus实战
  • 广东税务局查验
  • 上海增值税发票抵扣
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设