针对一些大的运营商的系统,比如电信 银行系统。通常会有些表的数据量会很大百万、千万等,此时查询速度是一个很重要很关键的因素。查询响应慢是用户无法接受的。所以要针对这些大数据量表要建立相应的索引。但是经过长时间应用之后如果大表进行了频繁的增删改查操作后,可能会导致索引失效,严重会应用客户使用及用户体验。所以此时需要对大表进行索引分析甚至重建。现在就索引重建大体讲述一下。
大体步骤如下:
tableA表为例
1)、备份原始实例表数据库脚本(主键,索引,外键,约束等)
2)、对原始表的数据总数量进行核实。
select count(1) from tableA;
3)、对原始表进行备份,生成新表。
create table tableA_bak as select * from tableA;
4)、核实新表数据总量
select count(1) from tableA_bak
5)、删除原始表,如果删除失败,原因是原始表有外键约束。需要将子表(tableC)与原始表的外键备份,备份后删除子表与原始表的外键。外键删除后,删除原始表。如果删除成功,则表明原始表不存在子表外键的关联,无需备份子表外键。
6)、删除原始表之后进行备份表的重命名。
alter table tableA_bak rename to tableA;
7)、重新命名后,对第一步备份的原始表的主键、外键、索引、约束进行执行恢复。并且查看第5步是否有输出(备份的子表外键),有输出则执行,无输出则完成。
8)、检查、确认与之前原始表数据的完整性以及主键、索引、外键、约束的正确性。
完成上面8个步骤则已经实现了对大表的索引重建工作。系统会对需要执行索引重建的朋友有所帮助
分享到:
相关推荐
用于SqlServer的索引重建,全语句实现,可根据实际情况进行部分关键表的索引重建。
标题中的“Tools索引重建工具.rar”显然是一款针对SQL Server数据库的索引管理软件,用于优化数据库性能。索引在数据库系统中起着至关重要的作用,它们加速了数据的查找和检索过程。当数据经过频繁的插入、删除和...
### 知识点一:索引重建与重组的目的 索引是数据库中一种重要的数据...综上所述,索引重建与重组是维护数据库性能的关键技术之一,通过理解它们的运作机制及差异,可以更好地应用于实践,确保数据库系统的高效运行。
在重建过程中,用户仍然可以使用原有的索引,并且新索引的构建也会利用原有索引的信息,这使得索引重建的过程更加迅速。 2. **索引信息的收集与验证**:为了判断索引是否需要重建,可以收集并分析索引的状态信息。...
比较重建前后的结果,可以看到`Scan Density`提升到了100%,同时`Logical Scan Fragmentation`降为0%,这表明索引重建已经成功消除了碎片化问题。 #### 六、结论 通过使用`DBCC DBREINDEX`命令,我们可以有效地解决...
在SQL Server 2000中,重建索引和收缩数据库是维护数据库性能和磁盘空间的关键操作。通过定期执行这些操作,可以确保数据库始终处于最佳状态。重建索引可以提高查询效率,而收缩数据库则可以帮助管理磁盘空间。此外...
Oracle数据库中的索引是提升查询性能的关键工具,但随着时间推移和数据操作,索引可能会变得效率低下,需要重建以优化其性能。本文主要总结了重建Oracle索引的相关知识点。 一、重建索引的前提条件 当表上的数据...
3. **性能优化**:在数据库优化过程中,可能会改变表的结构或索引,从而需要重建输出表以适应新的架构。 4. **系统故障恢复**:在系统崩溃或硬件故障后,为恢复服务,可能需要重建输出表以恢复到一致状态。 5. **...
总的来说,数据库维护计划和索引重建是提升SQL Server性能的重要策略。定期执行这些任务可以帮助维持数据库健康,减少查询延迟,确保系统的稳定运行。在设置计划时,应充分考虑资源利用率和业务需求,以找到最佳的...
《AnyBackup D2D2T系统索引重建操作手册》提供了关于如何在特定情况下重建AnyBackup D2D2T系统索引的详细指导。本文档适用于处理介质服务器崩溃、索引数据库损坏或需要迁移索引数据库的情况。在进行索引重建时,必须...
2. **REPAIR_FAST**:快速修复选项,尝试只修复损坏的部分,不会重建整个表或索引。 3. **REPAIR_ALLOW_DATA_LOSS**:允许数据丢失的修复方式,在数据一致性不是优先考虑的情况下使用。 具体执行如下: ```sql ...
当这些情况发生时,索引重建是恢复数据访问的关键步骤。 在进行索引重建时,需要注意以下几点以确保操作顺利: 1. 确保磁带中的数据与控制台中的任务信息匹配,否则无法使用磁带数据。 2. 自动索引重建需预先按照...
在数据库管理系统中,索引是一种允许快速查找数据库中特定信息...索引重建是一个需要在维护窗口或低峰时段进行的操作,因为它会暂时占用大量的系统资源。在执行之前需要对数据库进行备份,以防重建过程中出现意外情况。
索引重建是数据库维护中的一个关键任务,特别是在处理大量数据时,随着时间的推移,索引可能会出现碎片,这会降低查询性能。"SQL重建索引.rar"这个压缩包文件可能包含了一个文本文件,旨在指导用户如何有效地批量...
6. **删除表分区时的索引重建**: 使用`ALTER TABLE t_part DROP PARTITION p2 UPDATE INDEXES;`命令在删除分区的同时更新(重建)相关索引,确保索引始终保持可用。 7. **全局分区索引的创建**: 若要创建全局...
除了索引重建,另一个处理碎片的方法是使用`ALTER TABLESPACE COALESCE`命令。这个命令用于整理表空间,将空闲的数据块合并,以减少空间的碎片。当你发现表空间的利用率低,或者有很多小的空闲块时,可以使用此命令...
此命令提供了关于表和索引的碎片信息,包括扫描页数、扫描扩展盘区数、扩展盘区开关数等关键指标,帮助确定是否存在碎片问题。例如,你可以通过`DBCC SHOWCONTIG (table_name, index_name) WITH ALL_INDEXES`来查看...
3. **重建表索引**: 索引能加速查询速度,但随着时间推移,索引可能会变得碎片化,影响性能。可以使用`ALTER INDEX ALL ON [TableName] REBUILD`语句来重建所有索引,以优化存储并提高查询效率。还可以指定单个...
Oracle数据库中的索引是优化查询性能的关键工具,它允许快速定位和访问数据。常见的索引类型包括B*树索引和位图索引,每种都有其特定的应用场景和优势。 1. **B*树索引**:这是最常见的索引类型,类似于二叉树结构...
通过索引重建、碎片整理、删除不必要的索引等维护措施,可以保持数据库高效运行。例如,对于住房公积金管理系统中的个人明细表p_detail,可以根据查询习惯和业务需求,针对性地创建聚簇或非聚簇索引,以优化查询性能...