`
lusanxiong
  • 浏览: 20248 次
社区版块
存档分类
最新评论

sqlserver重建(rebuild)索引可以提高查询速度

阅读更多
当随着表的数据量不断增长,很多存储的数据进行了不适当的跨页(sqlserver中存储的最小单位是页,页是不不可再分的),会产生很多索引的碎片。这时候需要重建索引来提高查询性能。

如何查看索引的使用情况:
SELECT index_type_desc,alloc_unit_type_desc,avg_fragmentation_in_percent,fragment_count,avg_fragment_size_in_pages,page_count,record_count,avg_page_space_used_in_percent
FROM sys.dm_db_index_physical_stats(DB_ID('db_name'),OBJECT_ID('table_name),NULL,NULL,'Sampled')

上面的语句是查询数据库db_name的表table_name的索引使用情况。

查询结果中的列avg_fragment_size_in_pages值超过40%就需要重建索引,可以减少IO扫描操作。

重建索引:
alter index pk_my_users on my_users rebuild;

测试结果:
原来的碎片达到89%,重建索引碎片降到2%,查询速度快了1倍。(数据量为百万级)
分享到:
评论

相关推荐

    sql server 重新组织和重新生成索引

    重新组织和重新生成索引可以提高查询性能,减少索引中的碎片。碎片整理可以提高数据库的整体性能,提高应用程序的响应速度。 结论 SQL Server 2005 提供了重新组织和重新生成索引的功能,以修复索引碎片。通过检测...

    SQLServer索引碎片和解决方法

    要检测SQLServer中的索引碎片,可以使用`DBCC SHOWCONTIG`命令。此命令提供了关于表和索引的碎片信息,包括扫描页数、扫描扩展盘区数、扩展盘区开关数等关键指标,帮助确定是否存在碎片问题。例如,你可以通过`DBCC ...

    SQL Server索引重建手册

    《SQL Server索引重建手册》详细介绍了如何查看和分析索引碎片,如何选择在线重建索引的方式,以及如何观察索引重建的进度。手册强调了操作前必须进行全库备份的重要性,并指出在线重建索引时应遵循的顺序和原则。...

    SQL Server 2000完结篇系列之七:SQL Server 2000索引优化详解

    在SQL Server 2000中,索引是数据库性能优化的关键组成部分,它极大地影响了数据查询的速度。本文将深入探讨SQL Server 2000中的索引优化,旨在帮助数据库管理员和开发人员理解如何有效地利用索引来提升系统性能。 ...

    SqlServer性能优化高效索引指南

    索引虽然可以提高查询效率,但也需要定期进行维护,以防止由于大量增删改操作导致的碎片化。SqlServer通过索引碎片整理来优化性能,方法包括重整(REORGANIZE)和重建(REBUILD)。重整是联机对叶级页进行物理排序,...

    查询SQL Server Index上次Rebuild时间的方法

    在SQL Server中,索引重建(Rebuild)是一项重要的维护任务,它有助于优化查询性能,通过重新组织数据页和消除碎片。然而,系统并不直接记录每个索引的最后一次重建时间。当你需要确认某个索引何时进行了重建时,...

    SQL SERVER2005索引

    1. 提高查询速度:通过索引,数据库可以直接定位到数据行,避免全表扫描。 2. 改善并发性能:多个非聚集索引可并行处理,提高并发查询效率。 3. 支持排序和分组:使用索引可以更快地完成ORDER BY和GROUP BY操作。 ...

    SQL Server索引设计和调优技术大全

    - **分区索引的概念**:SQL Server 2005引入了分区功能,允许将大表分割成多个较小的部分,每部分可以独立管理,从而提高查询性能。 - **分区索引的实现**: - 创建分区函数定义分区边界。 - 创建分区方案指定分区...

    SQL重建索引.rar

    3. **编写重建脚本**:重建单个索引可以使用`ALTER INDEX ... REBUILD`语句。要批量重建所有索引,可以编写一个存储过程,遍历所有的表和索引,逐个执行重建操作。"SQL重建索引.txt"可能就包含了这样的脚本。 4. **...

    SQL SERVER 2005练习集2续 第17章索引

    索引可以显著提高查询效率,但也可能增加写操作的开销。合理设计索引策略,定期维护索引,如重建和重组,是优化数据库性能的关键。 ### 7. 其他注意事项 - 每个表可以有多个非聚集索引,但只能有一个聚集索引。 - ...

    13.sql.server.2005.索引 13.sql.server.2005.索引

    索引在数据库中的角色类似于书籍的目录,它可以帮助系统快速定位和访问数据,提高查询效率。本节将深入探讨SQL Server 2005中关于索引的相关知识点。 1. **索引类型** - **聚集索引**:在SQL Server 2005中,每个...

    SQL SERVER 2008 R2 重建索引的方法

    在SQL Server 2008 R2中,重建索引是一项重要的维护任务,它有助于优化数据库性能,尤其是当数据经过频繁的插入、删除和更新操作后,可能导致索引碎片增加。索引碎片有两种类型:逻辑碎片(页顺序不连续)和物理碎片...

    SQLServer实用教程(第三版)实验6索引和数据完整性的使用[收集].pdf

    - 索引的作用是提高查询速度,通过创建索引,数据库可以更快地找到所需的数据。索引分为聚集索引(数据行的物理顺序与索引顺序相同)和非聚集索引(索引项的顺序与数据行的物理顺序无关)。 - 创建索引的方法有两...

    SQLServer2008查询性能优化 2/2

    书名: SQLServer2008查询性能优化 作者: 弗里奇(Grant Fritchey) 出版社: 人民邮电出版社 出版日期: 2010年8月1日 ISBN: 9787115230294 编辑推荐 《SQL Server 2008查询性能优化》为你提供了处理查询性能所...

    SQLServer2008查询性能优化 1/2

    书名: SQLServer2008查询性能优化 作者: 弗里奇(Grant Fritchey) 出版社: 人民邮电出版社 出版日期: 2010年8月1日 ISBN: 9787115230294 编辑推荐 《SQL Server 2008查询性能优化》为你提供了处理查询性能所...

    Sql Server 数据库索引整理语句,自动整理数据库索引

    在SQL Server中,数据库索引是提升查询性能的关键元素,特别是在大型数据库中,它们对于保持高效的数据访问至关重要。然而,随着数据的频繁更改,索引可能会变得碎片化,导致性能下降。因此,定期对数据库索引进行...

Global site tag (gtag.js) - Google Analytics