关于关键表的索引重建

     针对一些大的运营商的系统,比如电信 银行系统。通常会有些表的数据量会很大百万、千万等,此时查询速度是一个很重要很关键的因素。查询响应慢是用户无法接受的。所以要针对这些大数据量表要建立相应的索引。但是经过长时间应用之后如果大表进行了频繁的增删改查操作后,可能会导致索引失效,严重会应用客户使用及用户体验。所以此时需要对大表进行索引分析甚至重建。现在就索引重建大体讲述一下。

     大体步骤如下:

        

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个步骤则已经实现了对大表的索引重建工作。系统会对需要执行索引重建的朋友有所帮助

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值