位置: 编程技术 - 正文

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删除重复)

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

  • 税务迁移麻烦吗
  • 自来水适用高税率吗
  • 股权转让开票怎么做账
  • 企业亏损结转年限举例说明
  • 高速费用支付宝的怎么开票
  • 季报申报之后还可以改吗?
  • 个体工商户经营范围查询
  • 企业长期贷款具备什么条件
  • 小微企业如何申请土地建厂房
  • 发出材料计划成本例题
  • 小规模纳税人多少免征增值税
  • 实收资本未认缴资本还用填写吗
  • 公司付款给个人一定要取得发票吗
  • 应付账款不付处理分录如何写?
  • 销售佣金税点
  • 银行承兑汇票加工费合同
  • 应征增值税不含税销售额(3%征收率)怎么算
  • 每个月工资都不一样,怎么计算个税
  • 铝合金失效分析案例
  • 其他应收款怎么分析
  • 建筑企业结转成本依据准则
  • 本年利润余额负数表示什么意思
  • 总公司和分公司的合作协议
  • 新版edge浏览器兼容性视图怎么设置
  • 苹果手机录音怎么转换成mp3格式
  • 王者荣耀中白起的台词
  • 税额差异会计分录
  • PHP:pg_field_table()的用法_PostgreSQL函数
  • 政府会计制度固定资产折旧哪个月开始计提
  • 库存现金清查主要包括哪些内容
  • 建筑安装发票可以外地开吗
  • 无偿赠送增值税问题
  • 房产税的应纳税额计算方法
  • 境外付款
  • 导航栏不变,切换怎么办
  • 微信php开发
  • 最快的XQD存储卡是什么
  • 公允价值变动损益属于什么科目
  • series转换为dataframe
  • 非货币性资产交换和债务重组的区别
  • 主营业务收入用三栏式吗
  • ps怎么移动某个图案
  • 帝国cms教程官方完整版
  • 织梦怎么用
  • mssql使用教程
  • 支付工程款的会计科目怎么写
  • 同一控制下收购溢价
  • 公司一般户需要年检吗
  • sql语句中单引号是什么
  • 收到项目资本金入什么科目
  • 租房交付确认书
  • 药品的增值税税率13%还是17%?
  • 企业与股东之间的关系,也是企业与投资者之间的关系
  • 物业公司代收水费合理吗
  • 营改增后房地产企业增值税如何核算
  • 存款基准利率是不是利息
  • 增值税加计抵减企业所得税如何处理
  • 月末怎么计提摊销和结转
  • 对公账户的钱可以花吗
  • 企业微信对公账户认证
  • mysql转移表数据表
  • SQLServer EVENTDATA()函数来获取DDL 触发器信息
  • Windows7 64位环境下Python-igraph环境配置的方法
  • win10预览版21390
  • linux系统配置命令
  • win7如何创建文件夹
  • ubuntu 18.04怎么用
  • linux 系统查看
  • centos mail命令
  • linux 开启snmp
  • win8飞行模式在哪
  • root忘记密码了怎么办
  • activex控件在哪设置
  • Android OpenGL ES(六)----进入三维在代码中创建投影矩阵和旋转矩阵
  • node.js的exports、module.exports与ES6的export、export default深入详解
  • android activity回调函数
  • 请问在javascript程序中
  • python字典键值对个数
  • 打印缴纳社保电子缴税凭证
  • 小规模纳税人房土两税优惠政策
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设