Oracle篇—分区索引的重建和管理(第三篇,总共五篇)

☘️博主介绍☘️

✨又是一天没白过,我是奈斯,DBA一名✨

✌️擅长Oracle、MySQL、SQLserver、Linux,也在积极的扩展IT方向的其他知识面✌️

❣️❣️❣️大佬们都喜欢静静的看文章,并且也会默默的点赞收藏加关注❣️❣️❣️

    好久不见,今天这篇文章作为分区表和分区索引管理的第三篇——分区索引的重建和管理。在前两篇文章中,分别介绍了分区表和分区索引的分类和管理。今天,将重点关注分区和子分区索引的失效重建。

    分区索引在数据库中扮演着至关重要的角色,它们能够显著提高查询性能并优化存储管理。但是如果在对分区表进行truncate partition、drop partition或者其他操作时如果没有加上update indexes,那么就会导致分区索引失效,这时就要对分区索引进行重建。所以建议在对分区操作时都加上update indexes。

    在重建索引的过程中,我们还需要考虑数据的可用性和一致性。这意味着在重建索引时,我们需要最小化对正常业务操作的影响,确保数据完整性和一致性。

     总之,分区和子分区索引的失效重建是数据库管理中的一项重要任务。通过定期评估和调整索引结构,我们可以确保数据库的性能和效率,满足不断变化的数据和查询需求。

    因为分区技术需要介绍的太多,那么我将分成五篇来进行介绍,以便大家因为篇幅过长而感到阅读疲惫。五篇的内容分别如下:

第一篇:分区表和分区索引的介绍和分类

第二篇:分区表的管理

第三篇:分区索引的重建和管理(当前篇)

第四篇:分区表和分区索引常用的检查语句

第五篇:普通表迁移到分区表


    

分区、子分区索引的失效重建的注意事项:

分区索引必须对每个分区重建,不能作为整体重建。如果将分区索引作为整体重建会报:ORA-14086: a partitioned index may not be rebuilt as a whole

     

分区索引使用的注意事项:

(1)OLTP(事务处理)系统中,全局索引和本地前缀索引因能减少分区探测的次数从而提供更好的性能。

(2)OLTP(事务处理)系统中,当有表分区或子分区维护操作的时候,本地索引提供更好有效性;非前缀分区索引对于历史数据库非常有用。

(3)DSS(数据仓库)系统中,本地非前缀索引能提高性能,原因是依据范围的并发查询(如BETWEEN)能够并发的扫描到到更多索引分区。历史表的索引尽可能采用本地索引,因此历史表上会有较规律的分宮删除操作,而采用本地索引能降低这类操作的影响。多列上的唯一索引必须是全局的。

     

重建索引相关语句: 

alter的方式重建全局索引/本地索引:

SQL> alter  index  index_name  rebuild  subpartition/partition partition_name [online] [nologging] [tablespace tablespace_name] [parallel x];  

rebuild online:在线重建索引

修改表的方式重建索引:

alter table table_name modify subpartition/partition partition_name rebuild unusable local indexes;

     

案例一:table_r2为范围分区,使用全局hash索引。如果删除一个表分区,没有加update index会导致索引失效,所以进行重建(建议加上update indexes就会自动维护索引)

1)table_r2为范围分区 

SQL> select * from dba_part_tables where table_name='TABLE_R2';   

 2)table_r2分了6个区

SQL> select * from DBA_tab_partitions where table_name='TABLE_R2'; 

3)table_r2表的索引为hash全局索引

SQL> select * from dba_part_indexes where table_name='TABLE_R2';

4)索引分了6个区

SQL> select * from dba_ind_partitions where index_name='I_TABLE_R2_ID'; 

5)业务需要删除一个表分区

SQL> alter table table_r2 drop partition p40000;     

6)导致所有的分区表全局索引全部失效

SQL> select * from dba_ind_partitions where index_name='I_TABLE_R2_ID';  

7)对分区表的索引进行重建(分区索引必须对每个分区重建,不能作为整体重建)

SQL> alter  index  I_TABLE_R2_ID  rebuild  partition P10000 online ; 
SQL> alter  index  I_TABLE_R2_ID  rebuild  partition P20000 online ; 
SQL> alter  index  I_TABLE_R2_ID  rebuild  partition P30000 online ; 
SQL> alter  index  I_TABLE_R2_ID  rebuild  partition P40000 online ;
SQL> alter  index  I_TABLE_R2_ID  rebuild  partition P50000 online ;
SQL> alter  index  I_TABLE_R2_ID  rebuild  partition P_MAX  online ;SQL> select * from dba_ind_partitions where index_name='I_TABLE_R2_ID'; 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/247879.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

写静态页面——魅族导航_前端页面练习

0、效果&#xff1a; 1、html代码&#xff1a;&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><…

Spring Boot通过配置文件支持数据库自定义表名

直接上干货&#xff1a; 例如一个叫xxx的项目&#xff0c;yml文件里加上这段 xxxproject:db:xxxTable: xxx_dbname #自定义的数据库表名创一个Configuration类放表名和Mapper // XxxProjectAutoConfiguration.javaConfiguration MapperScan(basePackages "cn.com.xxxp…

【vue】defineModel在vue3.4中的最新用法和详解

在2023年12月28日&#xff0c;尤大发布了vue3.4版本&#xff0c;这个版本主要对一些实验性特性的改进&#xff08;比如defineModel&#xff09;&#xff0c;大量重写了模板编译器并重构了响应式系统&#xff0c;可以说是大大提升了运行速度和效率。 之前在vue3.3中defineModel…

分布式ID是什么,以美团Leaf为例改造融入自己项目【第十一期】

前言 在日常开发中&#xff0c;主键id应用是非常广泛的&#xff0c;但是当涉及到分布式系统的时候&#xff0c;往往需要使用到分布式id&#xff0c;每一个服务里面一套生成规则的不易管理&#xff0c;容易引发冲突。我的IM聊天系统中使用分布式id来生成消息唯一键,为后面幂等做…

Flink CEP实现10秒内连续登录失败用户分析

1、什么是CEP&#xff1f; Flink CEP即 Flink Complex Event Processing&#xff0c;是基于DataStream流式数据提供的一套复杂事件处理编程模型。你可以把他理解为基于无界流的一套正则匹配模型&#xff0c;即对于无界流中的各种数据(称为事件)&#xff0c;提供一种组合匹配的…

网络防御安全:2-6天笔记

第二章&#xff1a;防火墙 一、什么是防火墙 防火墙的主要职责在于&#xff1a;控制和防护。 防火墙可以根据安全策略来抓取流量之后做出对应的动作。 二、防火墙的发展 区域&#xff1a; Trust 区域&#xff0c;该区域内网络的受信任程度高&#xff0c;通常用来定义内部…

单片机介绍

本文为博主 日月同辉&#xff0c;与我共生&#xff0c;csdn原创首发。希望看完后能对你有所帮助&#xff0c;不足之处请指正&#xff01;一起交流学习&#xff0c;共同进步&#xff01; > 发布人&#xff1a;日月同辉,与我共生_单片机-CSDN博客 > 欢迎你为独创博主日月同…

electron-builder vue 打包后element-ui字体图标不显示问题

当使用electron打包完成的时候&#xff0c;启动项目发现使用的element-ui字体图标没显示都变成了小方块&#xff0c;并出现报错&#xff0c;请看下图&#xff1a; 解决方法&#xff1a; 在vue.config.js中设置 customFileProtocol字段&#xff1a;pluginOptions: {electronBui…

两个近期的计算机领域国际学术会议(软件工程、计算机安全):欢迎投稿

近期&#xff0c;受邀担任两个国际学术会议的Special session共同主席及程序委员会成员&#xff08;TPC member&#xff09;&#xff0c;欢迎广大学界同行踊跃投稿&#xff0c;分享最新研究成果。期待这个夏天能够在夏威夷檀香山或者加利福尼亚圣荷西与各位学者深入交流。 SERA…

防御保护常用知识

防火墙的主要职责在于&#xff1a;控制和防护 --- 安全策略 --- 防火墙可以根据安全策略来抓取流量之 后做出对应的动作 防火墙分类主要有四类&#xff1a; 防火墙吞吐量 --- 防火墙同一时间能处理的数据量多少 防火墙的发展主要经过以下阶段&#xff1b; 传统防火墙&#xf…

格子表单GRID-FORM | 嵌套子表单与自定义脚本交互

格子表单/GRID-FORM已在Github 开源&#xff0c;如能帮到您麻烦给个星&#x1f91d; GRID-FORM 系列文章 基于 VUE3 可视化低代码表单设计器嵌套表单与自定义脚本交互 新版本功能 &#x1f389; 不觉间&#xff0c;GRID-FORM 已经开源一年&#xff08;2023年1月29日首次提交…

大数据StarRocks(八):资源隔离实战

前言 自 2.2 版本起&#xff0c;StarRocks 支持资源组管理&#xff0c;集群可以通过设置资源组&#xff08;Resource Group&#xff09;的方式限制查询对资源的消耗&#xff0c;实现多租户之间的资源隔离与合理利用。在 2.3 版本中&#xff0c;StarRocks 支持限制大查询&#…

HAL STM32+EC11编码器实现增减调节及单击、双击、长按功能

HAL STM32EC11编码器实现增减调节及单击、双击、长按功能 &#x1f4fa;实现效果演示&#xff1a; &#x1f4d8;内容提要 &#x1f4dd;本文主要实现&#xff0c;通过STM32 HAL库开发&#xff0c;实现的EC11编码器功能&#xff0c;按键结合状态机思想实现的拓展单击、双击、…

Linux之快速入门(CentOS 7)

文章目录 一、Linux目录结构二、常用命令2.1 切换用户2.2查看ip地址2.3 cd2.4 目录查看2.5 查看文件内容2.6 创建目录及文件2.7 复制和移动2.8 其他2.9 tar3.0 which3.1 whereis3.2 find&#xff08;这个命令尽量在少量用户使用此软件时运行&#xff0c;因为此命令是真的读磁盘…

计数排序(六)——计数排序及排序总结

目录 一.前言 二.归并小补充 三.计数排序 操作步骤&#xff1a; 代码部分&#xff1a; 四.稳定性的概念&#xff1a; 五.排序大总结&#xff1a; ​六.结语 一.前言 我们已经进入排序的尾篇了&#xff0c;本篇主要讲述计数排序以及汇总各类排序的特点。码字不易&#x…

【JavaScript 漫游】【002】JS 的数据类型总览

文章简介 本文为【JavaScript 漫游】专栏的第 002 篇文章&#xff0c;主要记录了笔者学习 JS 数据类型中所了解的基本知识点。 ES5 的数据类型有哪些如何区分 ES5 的数据类型null 和 undefined 的相同点和不同点布尔值的转换规则parseInt 和 parseFloat 的基本用法 作为 JS …

使用plotly dash 画3d圆柱(Python)

plotly3D &#xff08;3d charts in Python&#xff09;可以画3维图形 在做圆柱的3D装箱项目&#xff0c;需要装箱的可视化&#xff0c;但是Mesh &#xff08;3d mesh plots in Python&#xff09;只能画三角形&#xff0c;所以需要用多个三角形拼成一个圆柱&#xff08;想做立…

网站小程序分类目录网源码系统+会员注册登录功能 附带完整的搭建教程

随着互联网的发展&#xff0c;小程序分类目录网站已经成为了人们获取各类信息的重要渠道。而在这个领域中&#xff0c;罗峰给大家分享一款网站小程序分类目录网源码系统以其强大的功能和易用性&#xff0c;脱颖而出。本系统集成了会员注册登录功能&#xff0c;让用户能够更加便…

【git】git update-index --assume-unchanged(不改动.gitignore实现忽略文件)

文章目录 原因分析&#xff1a;添加忽略文件(取消跟踪)的命令&#xff1a;取消忽略文件(恢复跟踪)的命令&#xff1a;查看已经添加了忽略文件(取消跟踪)的命令&#xff1a; 原因分析&#xff1a; 已经维护的项目&#xff0c;文件已经被追踪&#xff0c;gitignore文件不方便修…

Layui + Echarts 5.0

Layui 怎么整合最新版本的 Echarts 5.0&#xff0c;Echarts 4 升级到 5后&#xff0c;有了很大改变&#xff0c;新的配置项4是无法兼容的&#xff0c;所以想要使用新的功能&#xff0c;都需要升级&#xff01; 新建一个echarts.js文件 layui.define(function (exports) {// 这…