文档章节

oracle的List分区及分区索引

找寻
 找寻
发布于 2011/08/23 10:20
字数 546
阅读 5191
收藏 5

  最近在做的一个项目,由于涉及到数据量会在半年内破千万条,考虑到数据量比较大,日后查询起来会比较费时,所以考虑使用oracle的分区特性。oracle10g产品中的分区表分为List,hash,range三个。

  经过分析,我的数据表Test_table_name中的SPCODE列的值是若干个固定不变的,而且该列不会被更新到。这样它符合List分区的特性。所以决定使用list分区来做。有一点需要注意的是,我们必须在建立表时进行分区,而不能在建完未分区的表后,添加分区。当然oracle提供了重定义表的方式可以用来重新分区,但它会删除所有数据。

建立分区表:

 create table test_table_name(spcode varchar2(8),  time date,  ……) partition list(spcode)(

      partition 分区1 values('sp01'),

      partition 分区2 values('sp02') 

)

可以使用 select * from user_tab_partition 查看分区情况

在list分区后,假如还有新的分区键值进来,这时我们有这种处理方式:

1,使用默认分区。

2,添加新的分区。

第一种的语法是  alter table test_table_name add partition 新分区3 values('sp03')

第二种的语法是  alter table test_table_name add partition 默认分区 values(default); -- default为oracle关键字

这里需要注意的是,如果一旦使用了默认分区,那么在下次我们想添加新分区时,有可能就会报错。因为新的分区的值可能在默认分区中出现过。

在建立完分区后,这个时候,我可以认为建立了几个表格(类似一个分区就是一个表),所以为了提高查询效率,我们还可能会建立索引,在分区中分为全局索引和分区索引。假如分区还会不断的新增的话,建议使用分区索引,这样不会在新增表时,破坏索引。

本地分区索引的语法:create index index_name on test_table_name(linkid) local;

或者 create index index_name on test_table_name(linkid) local (

  partition 分区1, partition 分区2,…………

)

可以使用 select * from user_ind_partitions 来查看,是否已经建立成功。

© 著作权归作者所有

找寻
粉丝 3
博文 15
码字总数 4008
作品 0
浦东
程序员
私信 提问
Oracle 分区表的新增、修改、删除、合并。普通表转分区表方法

一. 分区表理论知识 Oracle提供了分区技术以支持VLDB(Very Large DataBase)。分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中。分区完全对应用透明。 Oracle的分区表可以包...

sjzmlb
2015/12/23
392
0
ORACLE PARTITION简介

一、Oracle分区简介 ORACLE的分区是一种处理超大型表、索引等的技术。分区是一种“分而治之”的技术,通过将大表和索引分成可以管理的小块,从而避免了对每个表作为一个大的、单独的对象进行...

zancun
2017/09/08
0
0
Oracle SQL调优之分区表

@[toc] 一、分区表简介 分区通过让您将它们分解为更小且更易于管理的分区(称为分区)来解决支持非常大的表和索引的关键问题。不需要修改SQL查询和DML语句以访问分区表。但是,在定义分区之后...

smileNicky
05/18
0
0
Oracle SQL调优之表设计

在看《收获,不止sql优化》一书,并做了笔记,本博客介绍一下一些和调优相关的表比如分区表、临时表、索引组织表、簇表以及表压缩技术 分区表使用与查询频繁而更新数据不频繁的情况,不过要记...

smileNicky
05/18
0
0
ORACLE---对象的管理

对象管理 一、表 1.堆表: 2.索引组织表: 表数据和索引数据都放到索引段中 用到表的数据量很大,将表数据和索引数据放到同一个索引段中,只需要扫描一个段就可以取出数据,减少块的读取 索引...

柳白子
2016/12/09
13
0

没有更多内容

加载失败,请刷新页面

加载更多

rime设置为默认简体

转载 https://github.com/ModerRAS/ModerRAS.github.io/blob/master/_posts/2018-11-07-rime%E8%AE%BE%E7%BD%AE%E4%B8%BA%E9%BB%98%E8%AE%A4%E7%AE%80%E4%BD%93.md 写在开始 我的Arch Linux上......

zhenruyan
今天
5
0
简述TCP的流量控制与拥塞控制

1. TCP流量控制 流量控制就是让发送方的发送速率不要太快,要让接收方来的及接收。 原理是通过确认报文中窗口字段来控制发送方的发送速率,发送方的发送窗口大小不能超过接收方给出窗口大小。...

鏡花水月
今天
10
0
OSChina 周日乱弹 —— 别问,问就是没空

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享容祖儿/彭羚的单曲《心淡》: 《心淡》- 容祖儿/彭羚 手机党少年们想听歌,请使劲儿戳(这里) @wqp0010 :周...

小小编辑
今天
1K
11
golang微服务框架go-micro 入门笔记2.1 micro工具之micro api

micro api micro 功能非常强大,本文将详细阐述micro api 命令行的功能 重要的事情说3次 本文全部代码https://idea.techidea8.com/open/idea.shtml?id=6 本文全部代码https://idea.techidea8....

非正式解决方案
今天
5
0
Spring Context 你真的懂了吗

今天介绍一下大家常见的一个单词 context 应该怎么去理解,正确的理解它有助于我们学习 spring 以及计算机系统中的其他知识。 1. context 是什么 我们经常在编程中见到 context 这个单词,当...

Java知其所以然
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部