位置: 编程技术 - 正文

日常收集整理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数据库使用基本原理)

  • 个体工商户工商年报资金数额填啥
  • 小规模纳税人如何做账
  • 一分钟了解货币
  • 分配税后利润需交个人所得税吗
  • 个体工商户还没有使用怎么注销
  • 公司破产债务清偿顺序是怎样的
  • 主管盾和制单盾的区别
  • 贷款公司是怎么贷款的
  • 固定资产清理时残值怎么处理
  • 软件工程质保金
  • 发票抬头写错了还能改吗
  • 季度申报利润表本月数怎么填
  • 虚开增值税发票的涉税风险如何防范
  • 债务清偿如何进行税务处理
  • 房地产企业可以贷款吗
  • 房企所得税纳税义务发生时间
  • 用现金购买的股票
  • 银行存款一直没动会怎样
  • 外单位的人能否作为本单位的费用报销人?
  • 没有建筑资质能办安全生产许可证吗
  • 税字号是不是纳税人识别号
  • 车间改造用的材料有哪些
  • 数量和单价的乘积
  • 企业所得税内部辅助机构说明怎么写
  • 怎样破解wifi密码怎么办
  • 企业所得税的罚款比例
  • 域名停靠是病毒吗
  • Windows11预览体验计划空白
  • win7旗舰版如何恢复出厂设置
  • 一次性工伤医疗补偿金怎么算
  • 借款成坏账了怎么处理
  • 员工购买住房公积金申请
  • 建筑劳务公司何去何从
  • php gd gd2
  • 未分配利润可以弥补亏损吗
  • php获取开始与结束的函数
  • php正则匹配a标签href
  • 验证码php代码
  • 增值税普通发票怎么开
  • 预提和计提
  • 利润分配的基本原则是( )
  • 帝国cms视频教程
  • mysql 内连接查询
  • 织梦如何使用
  • mysql字符集详解
  • 建筑总承包分包单位可以是市政总承包吗
  • 自然人税收管理系统扣缴客户端官网
  • 营业总收入包括营业外收入吗
  • linux mysql 安装与操作
  • 应收账款的明细科目一般按照什么设置
  • 企业未开票收入怎么入账
  • 库存商品差额调整会计目录
  • 为什么银行结息不加入账户
  • 企业在银行的信用卡
  • 少做收入第二年怎么算
  • 购入固定资产的会计科目
  • 备抵法核算坏账损失
  • 其他货币资金存出投资款借方增加还是减少
  • mysql定义语句
  • 安装centos6.10
  • 电脑windowsxp无法启动怎么办
  • win10无人值守文件使用方法
  • Windows Server AD 访问数量控制配置方法
  • Linux JDK,TOMCAT安装及环境设置
  • freebsd安装pkg
  • 深度探索linux操作系统:系统构建和原理解析
  • linux修改时间和日期的方法
  • 批处理程序教程
  • android方法大全
  • jq判断浏览器
  • 一篇文章让你彻底读懂德国历史
  • unity3d题库
  • javascript的dom
  • python append 浅拷贝
  • 控制游戏类型
  • 出租车发票真伪怎么查询
  • 印花税怎么计提科目
  • 医院盖章去哪个部门
  • 国家税务总局关于涉税中介
  • 税务局文化品牌
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设