背景:在一次某客户的停产维护中,有一项例行对大表rebuild索引的操作,本是按部就班的操作,其效果却出乎我的意料,大部分索引的效果前后都有4倍左右的变化,最大的那个索引前后居然差了7倍多,并且重建索引也没有用到压缩选项,这个与我之前的预期差距很大,化名记录下这个结果。

1. 重建索引

使用rebuild重建索引,因为是停产状态,无需加online选项:

--rebuild index
ALTER INDEX JINGYU.IDX_XXX_1
REBUILD
NOCOMPRESS
PARALLEL 4
TABLESPACE DBS_I_JINGYU
STORAGE (INITIAL 64K); --noparallel
alter index JINGYU.IDX_XXX_1 noparallel;

需要注意如果用到并行,结束后一定要记得取消并行度。

2.重建前后索引大小变化

比对重建前后索引的空间大小占用变化:

--重建前索引空间:
select owner, segment_name, bytes/1048576 "MB" from dba_segments where segment_name like 'IDX_XXX_1'; OWNER SEGMENT_NAME MB
------------------------------ ------------------------------ ----------
JINGYU IDX_XXX_1 78749.125 --重建后索引空间:
select owner, segment_name, bytes/1048576 "MB" from dba_segments where segment_name like 'IDX_XXX_1'; OWNER SEGMENT_NAME MB
------------------------------ ------------------------------ ----------
JINGYU IDX_XXX_1 10795.4375

可以看到这个索引IDX_XXX_1从78749M变成了10795M,前后相差7倍之多,效果非常明显。其余大部分大表索引重建前后也有4倍左右的差距。

记录一则rebuild index消除索引碎片的效果的更多相关文章

  1. SQL Server索引碎片整理实际操作记录

    SQL Server 版本是 2008 R2. 查询数据库索引碎片情况的 SQL 语句(来源): SELECT OBJECT_NAME(ind.OBJECT_ID) AS TableName, ind ...

  2. 转: SQL Server索引的维护 - 索引碎片、填充因子

    转:http://www.cnblogs.com/kissdodog/archive/2013/06/14/3135412.html 实际上,索引的维护主要包括以下两个方面: 页拆分 碎片 这两个问题 ...

  3. SQL Server索引的维护 - 索引碎片、填充因子 <第三篇>

    实际上,索引的维护主要包括以下两个方面: 页拆分 碎片 这两个问题都和页密度有关,虽然两者的表现形式在本质上有所区别,但是故障排除工具是一样的,因为处理是相同的. 对于非常小的表(比64KB小得多), ...

  4. SQLServer中重建聚集索引之后会影响到非聚集索引的索引碎片吗

    本文出处:http://www.cnblogs.com/wy123/p/7650215.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错 ...

  5. sql 性能优化 索引碎片

    1.索引 简单的说,索引就像书本的目录,目录可以快速找到所在页数,数据库中索引可以帮助快速找到数据,而不用全表扫描,合适的索引可以大大提高数据库查询的效率.(1). 优点大大加快了数据库检索的速度,包 ...

  6. SQL Server通过整理索引碎片和重建索引提高速度

    本文章转载:http://database.51cto.com/art/201108/282408.htm SQL Server数据库中,当索引碎片太多时,就会拖慢数据库查询的速度.这时我们可以通过整 ...

  7. SQL Server 索引碎片产生原理重建索引和重新组织索引

    数据库存储本身是无序的,建立了聚集索引,会按照聚集索引物理顺序存入硬盘.既键值的逻辑顺序决定了表中相应行的物理顺序 多数情况下,数据库读取频率远高于写入频率,索引的存在 为了读取速度牺牲写入速度 页 ...

  8. [笔记整理]SQL Server 索引碎片 和 重建索引

    铺垫知识点: 数据库存储本身是无序的,建立了聚集索引,会按照聚集索引物理顺序存入硬盘.既键值的逻辑顺序决定了表中相应行的物理顺序 多数情况下,数据库读取频率远高于写入频率,索引的存在 为了读取速度牺牲 ...

  9. Oracle索引以及索引碎片

    索引,可以增加查询速度,若没有索引,每次查询都必须是全表查询.例如,搜索某个记录时(如name="gdpuzxs")时,需要全表扫描一下,因为不知道有多少个name="g ...

随机推荐

  1. SQLServer 索引重建

    SQL Server 索引重建脚本 在数据的使用过程中,由于索引page碎片过多,带来一些不利的性能问题,我们有时候需要对数据库中的索引进行重组或者重建工作.通常这个阈值为30%,大于30%我们建议进 ...

  2. Struts2 框架使用 核心以及其他详细配置

    因为在使用SSH框架的过程,关于struts2的配置比较繁琐,所以做个总结. 一.导入并且关联其他XML 1.   因为在核心配置文件(Struts2.xml)中,如果存在很多需要配置的Action项 ...

  3. 图->存储结构->十字链表

    文字描述 十字链表是有向图的另一种链式存储结构. 在十字链表中,对应于有向图中每一条弧有一个结点,对应于每个顶点也有一个结点.这些结点的结构如下所示: 在弧结点中有5个域: 尾域tailvex和头域h ...

  4. 树和二叉树->相互转化

    文字描述 由上篇关于树和二叉树的存储结构知,树和二叉树都可以采用二叉链表作为存储结构.也就是说,给定一颗树,可以找到惟一的一颗二叉树与之对应,从物理结构来看,它们的二叉链表是相同的,只是解释不同而已. ...

  5. kafka相关命令

    查看kafka消费组对应的信息:./kafka-consumer-groups.sh --bootstrap-server 172.17.6.10:9092 --describe --group fr ...

  6. linux之无公网ip的自动登录

    场景 对于有公网ip的链接方式我们都比较清楚了,但是有些服务器不允许直接登录或者没有直接登录的公网ip,所以只能通过一个可以直接登录的堡垒机跳转.这时需要你手动去敲ssh远程链接命令(例如:ssh r ...

  7. 10.5-uC/OS-III内部任务(时基任务OS-TickTask())

    几乎所有的实时系统都需要有一个能提供周期性时间的时间源,叫做时基周期或系统周期. uC/OS-III的时基周期处理程序封装在OS_TICK.C文件中. OS_TickTask()任务被uC/OS-II ...

  8. LeetCode-300.Longst Increasing Subsequence

    Given an unsorted array of integers, find the length of longest increasing subsequence. Example: Inp ...

  9. dedecms前端无法调用自定义变量怎么解决

    网友问ytkah说他的dedecms前端无法调用自定义变量要怎么解决,登录他的网站后台看了一下,自定义变量已经添加了,也写入了数据库表中,但是就是前台没办法调用出来,后面想想可能是文件权限不够,具体是 ...

  10. centos安装Django之二:pip3安装

    前面我们说到了centos安装Django之一:安装openssl,现在我们进入第二阶段pip3安装.两步实现:安装setuptools(pypi),安装pip,下面就和ytkah一起看看配置吧 1. ...