分区表中主键索引是该是全局还是分区索引?

人大金仓(KingBase)分区表 KingBase 人大金仓 的分区表相关的SQL 阅读详情
如题,现有一分区表,除主键索引外其余索引均为分区索引,疑问如下:
1、现在有dba指出修改计划将表主键的全局索引修改为分区索引,不知道修改后能不能够起到优化的作用??
2、分区索引对主键中的数据一致性有没有影响??
3、在不影响生产库的情况下怎样将全局主键索引修改为分区索引??
  按照我的理解答的,不全对啊。谢谢
答1,分区表在管理上的确非常方便,在性能方面的表现也不错。
但是就是有一点不是很理想:删除分区和TRUNCATE分区表中数据,会造成主键和全局索引的失效。如果数据表非常大,索引的重建也是需要花很长时间的。
所以:首先根据应用尽量将索引修改为分区索引(个别索引可能不能修改),删除主键也修改为唯一分区索引。
经过测试表明,如果分区字段选择合理,使用分区索引的效率比全局索引要高一些,而主键和唯一分区索引的效率大体相当,因此这样的优化还是非常值得的,如果由于优化导致个别应用效率下降,也可以通过应用的调整进行优化。

答2:主键如果不是你选择的分区字段的话, 在分区表上创建的唯一索引必须包含分区字段,否则会提示错误(ORA-14039),这一点也需要特别注意。

答3:删除索引,创建所以,具体sql,google
注:主键索引和主键约束的创建与删除顺序 
创建主键索引 --> 创建主键约束 
删除主键约束 --> 删除主键索引 
  

注: 
1.分区字段不是主键的情况下,只可以创建全局分区索引,不可以创建本地主键分区索引. 
只有分区字段为主键时才可以创建本地主键分区索引. 
2.如果创建本地唯一分区索引,除指定索引字段外还要加上表分区字段. 
这种索引意义不大:因为这样构成复合索引,索引改变,约束也改变了. 
3.如果创建非唯一索引则不需要表分区字段. 
4.创建全局分区索引后可以创建约束.  
audio框架学习-Audio_Flinger分析 文章目录一、代码位置二、audio服务启动2.1 main服务2.2 audioflinger添加到系统服务中2.3 audioflinger的对外接口 之前记录过audioTrack的笔记,这次继续参考audioFlinger相关的代码并做笔记; 参考文档:https://www.cnblogs.com/innost/archive/2011/01/15/1936425.html和https://blog.csdn.net/zyuanyun/article/details/60890534?spm=100 阅读详情

相关推荐

分区表 主键全局索引分区索引区别

SQL> create table pdba (agmt_id number,corp_org char(10),agmt_mod_cd char(10),a1 number,a2 number,a3 number,a4 number, start_date date) partition by range (start_date ) ( partition p1 values less than

zhaoyangjian724的专栏 4095

关于oracle的表空间,分区表,以及索引的总结

http://episode.javaeye.com/blog/183016 上周第一次做数据库测试碰到了很多问题特此总结: 表空间: Oracle的UNDOTBS01.DBF文件太大的解决办法 1、.禁止undo tablespace自动增长 alter   database   datafile   full_path/undotbs01.dbf   autoextend   of

冷月宫主的专栏 1317

工业缺陷标注要人命?我从零搭了一套自动标注系统,标注效率直接提升10倍

你是不是也深陷工业缺陷标注的无尽内耗?这不是个例,工业视觉项目落地,80%的时间和成本,都耗在了数据标注环节。普通的图像标注(猫狗分类、人脸识别),标注门槛低、规则简单、一致性要求宽松;而工业缺陷标注,是CV领域公认的地狱级难度:缺陷尺寸小到几像素、种类繁杂且非标、行业专业性极强、标注精度要求到像素级、正负样本极度不均衡,人工标注不仅效率低、成本高,更直接决定了模型的最终上限。我在工业视觉行业摸爬滚打了6年,踩遍了人工标注的所有坑,最终从零搭建了一套工业缺陷专用的闭环自动标注系统,把原来一张图30分钟的标注

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 171

Oracle创建分区表全局索引

分区表概念 当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时,不至于每次都扫描整张表。 按照START_TIME字段以一年为跨度建立分区表。 PARTITION BY RANGE(START_TIME) ( PARTITION p1 VALUES LESS THAN('2019-1-1'), PARTITION p1 VALUES LESS

凤凰传奇的粉丝 1907

分区表分区索引全局索引部分总结

<br />分区表分区索引全局索引: <br />  在一个表的数据超过过2000万条或占用2G空间时,建议建立分区表。<br />       create table ta(c1 int,c2 varchar2(16),c3 varchar2(64),c4 int constraint pk_ta primary key (c1)) partition by range(c1)(partition p1 values less than (10000000),partition p2 values 

无双小宝 1282

oracle不适合建立索引的场景,Oracle 分区表中本地索引全局索引的适用场景

背景分区表创建好了之后,如果需要最大化分区表的性能就需要结合索引的使用,分区表有两种索引:本地索引全局索引。既然存在着两种的索引类型,相信存在即合理。既然存在就会有存在的原因,也就是在特定的场景中就更能发挥出索引的性能的;本文档通过测试,总结出两种索引的适合的场景;测试环境数据库版本:11.2.0.3分区表创建脚本:CREATE TABLE SCOTT.PTB(GG1DM VARCHAR2(9...

weixin_42510645的博客 585

PostgreSQL 11 新特性解读:分区表支持创建主键、外键、索引

PostgreSQL 10 版本虽然支持创建范围分区表和列表分区表,但创建过程依然比较繁琐,需要手工定义子表索引主键,详见 PostgreSQL10:重量级新特性-支持分区表,PostgreSQL 11 版本得到增强,在父表上创建索引主键、外键后,子表上将自动创建,本文演示这三种场景。 值得一提的是,11 版本之前 PostgreSQL 的分区表不支...

weixin_34418883的博客 3312

分区表分区索引全局索引

分区表分区索引全局索引:   在一个表的数据超过过2000万条或占用2G空间时,建议建立分区表。   create table ta(c1 int,c2 varchar2(16),c3 varchar2(64),c4 int constraint pk_ta primar

yuetengfei的专栏 1887

OBCP第四章 SQL调优-局部索引全局索引

OceanBase的每一张表都有主键,并在内部以主键为序组织数据。如果在创建用户表时不显式指定主键,系统会自动为表生成隐藏主键,隐藏主键不可被查询

明确的爱,真诚的喜欢,直接的厌恶,站在太阳底下的坦荡,被坚定的选择。 844

分区表不建议创建主键的原因

分区表不建议创建主键的原因 摘要: 分区表尽量不要建主键,因为建主键的同时会建一个唯一性的全局索引,在drop分区表时如果不指定update global indexes则 会使索引失效,导致数据无法入库。 如果非要建主键,要2种方法: 1.应用上drop 分区表时显示指定update global indexes, 2.将主键上的索引建成本地索引 上述2种方法虽然可以实现,但效果都不好。

preamble_1的博客 7556

分区表主键

原创作:http://www.itpub.net/thread-1504731-1-1.html 如题,现有一分区表,除主键索引外其余索引均为分区索引,疑问如下: 1、现在有dba指出修改计划将表主键全局索引修改为分区索引,不知道修改后能不能够起到优化的作用?? 2、分区索引主键中的数据一致性有没有影响?? 3、在不影响生产库的情况下怎样将全局主键索引修改为分区索引??   按照

ningfuxuan的专栏 1901

oracle根据主键分区,oracle分区表主键关系

--全局唯一索引create table test_par1(tdate varchar2(8) primary key)partition by range ( tdate )(partition p1 values less than ('20090201'),partition p2 values less than ('20090301'),partition pm values ...

weixin_27070451的博客 605

oracle根据主键分区,oracle主键分区索引(转mos)

APPLIES TO:Oracle Database - Enterprise Edition - Version 8.0.6.0 and laterInformation in this document applies to any platform.PURPOSEThis article gives examples of how to create primary key partitio...

weixin_30717229的博客 447

详解分区表上的索引问题

<br />分区表在管理上的确非常方便,在性能方面的表现也不错。<br />但是就是有一点不是很理想:删除分区和TRUNCATE分区表中数据,会造成主键全局索引的失效。如果数据表非常大,索引的重建也是需要花很长时间的。<br />针对这个问题,有没有合适的解决办法呢?完整的方案:<br />最后再整理一下,请大家给指正指正 <br />1. 分区表的用途和优势:a 、增强可用性:如果表的一个分区由于系统故障而不能使用,表的其余好的分区仍然可以使用; <br />b 、减少关闭时间:如果系统故障只影响表的一

连锁驱动 992

分区表尽量不要建主键

原地址:http://blog.itpub.net/16396821/viewspace-679681/    今天有个项目要做升级,此项目用的是公司新产品,处于研发阶段,数据库设计文档不全,因为需要手动对比一下升级前后2个版本的ddl,发现新版本的ddl中有些分区表建的是主键。如:create table ALARM_RESULT (   ALARM_RESULT_ID   VARCHAR

ningfuxuan的专栏 9252

【OceanBase】全局索引与局部索引管理

7.功能需求:在表的’分区键无关’的字段上建唯一索引。2.传统“非分区表”中主表和索引的关系。8.全局分区索引全局分区索引的比较。9.局部索引全局索引的执行计划的比较。10.局部索引全局索引的取舍。5.全局索引-全局分区索引。6.全局索引-全局分区索引。3.局部索引全局索引

weixin_43346403的博客 1738

mysql分区表之三:MySQL分区索引,唯一索引

介绍 mysql分区后每个分区成了独立的文件,虽然从逻辑上还是一张表其实已经分成了多张独立的表,从“information_schema.INNODB_SYS_TABLES”系统表可以看到每个分区都存在独立的TABLE_ID,由于Innodb数据和索引都是保存在".ibd"文件当中(从INNODB_SYS_INDEXES系统表中也可以得到每个索引都是对应各自的分区(primary key和unique也不例外)),所以分区表索引也是随着各个分区单独存储。 在INNODB_SYS_INDEXES系统表中t

angryshan的博客 4532

oracle数据库支持的索引形式,ORA-01502 oracle数据库 index索引的两种形式

目前的项目中,我们在跑批次的时候,有个SP总是报错“ORA-01502: index 'WBILL_102.PK_A_NOTWEB_ACT_PROVINCE_M' or partition of such index is in unusable state” ,解决办法就是重建索引,ALTER INDEX IN_AA REBUILD;但是解决完之后,在跑批还是报这个错误,这就让我需要考虑,产生...

weixin_39950552的博客 235

sbc5r01.pdf

scsi block 协议

上一篇: Rhel6.6_Oracle11gR2(ASM,UDEV)的RAC搭建安装
下一篇: oracle的分区表、分区索引和全局索引部分总结
叽哩古哩
博客等级 码龄19年 101粉丝 36原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值