位置: 编程技术 - 正文

日常收集整理SqlServer数据库优化经验和注意事项(收集整理数据)

编辑:rootadmin

推荐整理分享日常收集整理SqlServer数据库优化经验和注意事项(收集整理数据),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:整理sql的格式,sql语句整理,sql数据整理,收缩sql数据库日志文件,sql数据整理,sql数据整理,收集,整理数据包括哪些内容,sql语句整理,内容如对您有帮助,希望把文章链接给更多的朋友!

网上关于SQL优化的教程很多,但是比较杂乱。近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充。

优化数据库的注意事项:

1、关键字段建立索引。

2、使用存储过程,它使SQL变得更加灵活和高效。

3、备份数据库和清除垃圾数据。

4、SQL语句语法的优化。(可以用Sybase的SQL Expert,可惜我没找到unexpired的序列号)

5、清理删除日志。

SQL语句优化的基本原则:

1、使用索引来更快地遍历表。

缺省情况下建立的索引是非群集索引,但有时它并不是最佳的。在非群集索引下,数据在物理上随机存放在数据页上。合理的索引设计要建立在对各种查询的 分析和预测上。一般来说:①.有大量重复值、且经常有范围查询(between, >,< ,>=,< =)和order by、group by发生的列,可考虑建立群集索引;②.经常同时存取多列,且每列都含有重复值可考虑建立组合索引;③.组合索引要尽量使关键查询形成索引覆盖,其前导列 一定是使用最频繁的列。

2、IS NULL 与 IS NOT NULL

不能用null作索引,任何包含null值的列都将不会被包含在索引中。即使索引有多列这样的情况下,只要这些列中有一列含有null,该列就会从 索引中排除。也就是说如果某列存在空值,即使对该列建索引也不会提高性能。任何在where子句中使用is null或is not null的语句优化器是不允许使用索引的。

日常收集整理SqlServer数据库优化经验和注意事项(收集整理数据)

3、IN和EXISTS

EXISTS要远比IN的效率高。里面关系到full table scan和range scan。几乎将所有的IN操作符子查询改写为使用EXISTS的子查询。

4、在海量查询时尽量少用格式转换。

5、当在SQL SERVER 中,如果存储过程只有一个参数,并且是OUTPUT类型的,必须在调用这个存储过程的时候给这个参数一个初始的值,否则会出现调用错误。

6、ORDER BY和GROPU BY

使用ORDER BY和GROUP BY短语,任何一种索引都有助于SELECT的性能提高。注意如果索引列里面有NULL值,Optimizer将无法优化。

7、任何对列的操作都将导致表扫描,它包括数据库函数、计算表达式等等,查询时要尽可能将操作移至等号右边。

8、IN、OR子句常会使用工作表,使索引失效。如果不产生大量重复值,可以考虑把子句拆开。拆开的子句中应该包含索引。

9、SET SHOWPLAN_ALL ON 查看执行方案。DBCC检查数据库数据完整性。DBCC(DataBase Consistency Checker)是一组用于验证SQL Server数据库完整性的程序。

、谨慎使用游标

在某些必须使用游标的场合,可考虑将符合条件的数据行转入临时表中,再对临时表定义游标进行操作,这样可使性能得到明显提高。

注释:所谓的优化就是WHERE子句利用了索引,不可优化即发生了表扫描或额外开销。经验显示,SQL Server性能的最大改进得益于逻辑的数据库设计、索引设计和查询设计方面。反过来说,最大的性能问题常常是由其中这些相同方面中的不足引起的。其实 SQL优化的实质就是在结果正确的前提下,用优化器可以识别的语句,充份利用索引,减少表扫描的I/O次数,尽量避免表搜索的发生。

其实SQL的性能优化是一个复杂的过程,上述这些只是在应用层次的一种体现,深入研究还会涉及数据库层的资源配置、网络层的流量控制以及操作系统层的总体设计。

以上内容是关于日常收集整理SqlServer数据库优化经验和注意事项的全部叙述,希望大家喜欢。

浅析SQL数据操作语句 SQL中的运算符1算术运算符:+:加运算,求两个数或表达式想加的和-:减运算,求两个数或表达式相减的差*,乘运算,求两个数或表达式相乘的积/:除运算,求两个

SQL SERVER调用存储过程小结 在SQLServer数据库的维护或者Web开发中,有时需要在存储过程或者作业等其他数据库操作中调用其它的存储过程,下面介绍其调用的方法一、SQLSERVER中调

在sqlserver中如何使用CTE解决复杂查询问题 最近,同事需要从数个表中查询用户的业务和报告数据,写了一个SQL语句,查询比较慢:SelectS.Name,S.AccountantCode,(SelectCOUNT(*)from(SelectDistinctBusinessBackupIdfro

标签: 收集整理数据

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

上一篇:SQL Server将一列的多行内容拼接成一行的实现方法(sql将一列数据变成一行显示)

下一篇:浅析SQL数据操作语句(sql数据库使用基本原理)

  • 完税价格是含税价
  • 承租方支付租房税费
  • 佣金和手续费支出 纳税调整
  • 安防监控工程会计分录
  • 经营活动现金流量公式
  • 个税手续费返还政策文件
  • 经纪代理代订机票电了发票如何入账
  • 法人可以是办税人和发票领购人吗
  • 公司销售家电并购案例
  • 月末结存材料的实际成本怎么计算
  • 如何理解定时是指收入在什么时候记入账册?
  • 个人应纳税所得额 税率
  • 个人所得税多缴了可以退回吗
  • 固定资产出售税务处理方法
  • 建筑企业如何才能上市
  • 客户方流水号是什么
  • 税友软件费用
  • 许可使用费怎么计算
  • 建筑装饰行业税负
  • 银行转账结算凭证按照填制手续和内容
  • 花卉租赁属于哪个税目
  • 更换营业执照要多久才能拿到
  • 预付工程款计入在建工程吗
  • 小企业会计准则会计科目表
  • deepin如何设置网络
  • 几种方法解决一个问题的架构图怎么画
  • php数组函数有哪些
  • 股东实缴出资的证明
  • 一篇不错的php基础论文
  • 怎么激活对话框取消
  • php字符串的三种定义方式
  • TypeError The view function did not return a valid response. The function either returned None 的解决
  • 总账是按年还是按月结账
  • python创建自定义函数
  • 深入理解php类的知识
  • 社会团体会员费做分录
  • sensor tester
  • 营业税规定
  • 反写必须15号之前吗
  • 家居办公装修
  • mongodb bi
  • 水电费用属于会计的什么费用
  • 总承包可以转包吗
  • 广告设计与制作专科就业前景
  • 所得税营业成本包括管理费用吗
  • 息税前利润变动率的计算公式
  • 持有至到期投资和债权投资的区别
  • 用留存收益筹资为什么没有占用费
  • 无法收回的其他应收款可以税前扣除吗
  • 企业所得税退税如何进行账务处理
  • 免费赠送客户入群的文案
  • 外币报表折算差额会计分录
  • 制造费用结转到哪个科目
  • 冲销以前年度多计提的折旧
  • 单位委托单位
  • win7系统环境变量无法编辑怎么办
  • 怎么防止win10
  • XP系统怎么升级win10
  • 笔记本上安装软件怎么弄
  • vmware虚拟机不能用桥接模式
  • Win7打印机驱动备份
  • macos 网速慢
  • centos运行程序
  • win7系统360浏览器书签
  • win7架设ftp服务器
  • css怎么画图
  • python中str的用法
  • python 聚类算法包
  • unity全景
  • 浅谈JQuery+ajax+jsonp 跨域访问
  • python继承的主要目的
  • 安卓activity类
  • 国家税务总局通知公告
  • 查博士报告怎么查真假
  • 出租车发票密码区被撕掉了能报销吗?
  • 如何电子税务局缴纳社保费用
  • 组织生活会有民族评议党员大会会后报告
  • pppoe账号密码改了连不上网
  • 企业所得税按开票金额的多少计算税率
  • 个体户国税地税怎么交
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设