SQL Server 数据库的整理优化的基本过程(三)

高建刚

第二节 索引

第三节 索引的维护

数据库在进行数据的insert、update、delete时,引擎都会自动维护索引。随着时间的积累,这些操作会造成数据的不连续,即产生了索引的碎片,随着碎片的产生,从而降低了查询的性能,反映到前台程序中,就是用户体验效果差,整个系统运行速度慢。当这种情况出现时,我们就需要利用创建索引或重新组织索引来对索引进行维护,至于具体采用什么方式,需要结合索引产生碎片的严重程度。

在此,需要提出的是,在SQL Server2005的DDL对维护索引增加了更丰富的语句,而以前的版本往往需要DBCC来处理,不仅仅理解起来比较费劲,更多的是不能从原理上来分析具体的原因。

首先,让我们来看看如何查找数据不连续造成的索引碎片。

数据的不连续主要分两种,一种是内部数据存储页的不连续,许多的空间没有记录数据;另一种是外部的硬盘存放数据的分页与范围不一致,即索引或数据表散落在多个范围中,或存放索引或数据表的分页不是连续的放在一起的,当然也有的情况是数据顺序与实例在硬盘存放的分页顺序不同,导致的硬盘读取没有效率,读出后数据还需要重新组织,重新整理。

那么通过什么方式来查看索引的不连续程度哪?微软为我们提供了DBCC SHOWCOMFIG指示符,通过帮助我们发现其用法其实不是很复杂,而结果的表述也很容易理解。

DBCC SHOWCONTIG
[ ( { table_name | table_id | view_name | view_id } [ ,index_name | index_id ]
) ] [ WITH { [ , [ ALL_INDEXES ] ] [ , [ TABLERESULTS ] ] [ , [ FAST ] ][ , [ ALL_LEVELS ] ] [ NO_INFOMSGS ]}]
下班用例子来查看此指示符所呈现的数据:

转载于:https://www.cnblogs.com/Gaojier/archive/2010/10/03/2783525.html

SQL Server 数据库的整理优化的基本过程(三)相关推荐

  1. SQL Server 数据库的整理优化的基本过程(二)

    SQL Server 数据库的整理优化的基本过程(二) 高建刚 第一节 基本维护 第二节 索引 索引相信大家都不陌生,而且在因特网上,有了很多关于如何通过索引来优化数据库的文章,在这里,我主要是结合我 ...

  2. sql server数据库性能的优化

    编者按:数据库性能优化和数据库管理系统密切相关,不同的数据库管理系统在具体操作上有很大不同.继本报连续在2003年第48期.49期上刊登<sybase数据库性能调优>和<oracle ...

  3. 转载SQL Server 数据库的性能优化

    你是否在千方百计优化SQL Server 数据库的性能?如果你的数据库中含有大量的表格,把这些表格分区放入独立的文件组可能会让你受益匪浅.SQL Server 2005引入的表分区技术,让用户能够把数 ...

  4. SQL Server数据库碎片整理

    碎片产生   在SQL Server中,存储数据的最小单位是页,每一页所能容纳的数据为8060字节.而页的组织方式是通过B树结构   SQL Server向每个页内存储数据的最小单位是表的行(Row) ...

  5. 五十种巧妙优化SQL Server数据库

    五十种巧妙优化SQL Server数据库的方法:出现性能问题的原因- 没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷). I/O吞吐量小,形成了瓶颈效应. 没有创建计算列导致查询不 ...

  6. 优化SQL Server数据库查询方法

    本文详细介绍了优化SQL Server数据库查询方法. SQL Server数据库查询速度慢的原因有很多,常见的有以下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) ...

  7. SQL Server 数据库优化

    设计1个应用系统似乎并不难,但是要想使系统达到最优化的性能并不是一件容易的事. 在开发工具.数据库设计.应用程序的结构.查询设计.接口选择等方面有多种选择,这取决于特定的应用需求以及开发队伍的技能.本 ...

  8. 10步骤优化SQL Server 数据库性能

    作者从基础的数据库索引开始全面讲述了SQL Server数据库应用程序的性能优化,包括数据库设计和数据访问代码.系列文章如下: Top 10 steps to optimize data access ...

  9. SQL Server数据库优化方案

    SQL Server数据库优化方案 查询速度慢的原因很多,常见如下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计 ...

最新文章

  1. MPB:甘肃省科学院祝英等-药用植物地下茎内生真菌的分离纯化及鉴定
  2. c++ primer 5th 练习11.9自己编写的答案
  3. jsonp react 获取返回值_必须要会的 50 个React 面试题(下)
  4. amd cpu不能在cmd环境下运行java代码_如何在Windows10中配置java的JDK环境
  5. 其他的AdapterView——Spinner
  6. word度量单位无效_【一定要看】这篇Word毕业论文排版全攻略,25个技能请收藏好~...
  7. 图像局部特征(十)--BRIEF描述子
  8. iMazing for mac中文版苹果iOS设备管理器(已更新至v2.9.12版本)
  9. Sublime Text3 安装svn插件遇到的问题
  10. phpstudy 提示安装VC9 VC14等,MySQL启动失败红色小点点,解决办法。PHP VC版本下载集合
  11. MFC学生信息管理系统
  12. 基于ARM开发板的嵌入式项目设计(C完整代码)
  13. Java改良贪吃蛇小游戏
  14. OpenHarmony通过MQTT远程控制鸿蒙小车
  15. 大学计算机编程学哪些科目,大学计算机课程学习路线应该是怎么样的呢?
  16. Foxmail,mac邮箱app
  17. 视频产生的本质及色彩空间:RGB 和 YUV
  18. group by后乱序问题原因和解决
  19. 疑难杂症篇(十三)--Java中出现“找不到符号“的错误解决方案
  20. 汽车导航系统升级包2023年1月16日

热门文章

  1. 在机器学习中为什么只需要正的误差而不用负的误差
  2. 一张图看懂开源许可协议,开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别【转载】
  3. Javascript基于对象基础
  4. css 对话框阴影,科技常识:css实现不规则图形的阴影(如对话框)
  5. ug中模型不见了怎么办_关于UG参数化建模的定义
  6. bool转nsnumber ios_iOS开发之NSDecimalNumber的使用,货币计算/精确数值计算/保留位数等...
  7. 大学学python用记笔记吗_3年Python程序员平时学习笔记总结,对于学习Python非常有帮助!...
  8. java mysql 配置_Java连接MySQL数据库详细分析
  9. long在python中的意思_Python如何管理int和long?
  10. 服务器如何启动运行,如何在服务器系统启动或重新启动时执行命令或脚本