数据表分区

来源:互联网 发布:程序员证书有哪些 编辑:程序博客网 时间:2024/05/14 03:03

查询分区表中的数据:

一般来说,如果某个表要存海量的数据时,我们都会给表划个分区,比如按时间分区。

查询分区上数据的语法: SELECT * FROM TABLE_NAME PARTITION(PART_NAME)

按时间创建完成分区表后,对应的时间段内的数据就会被存储到对应的分区上面。

此时,如果要查询某个时间段的数据,首先,确认数据所属的分区,在指定分区上查询数据,可以节省查询时间。

E.g: SELECT  SELECT * FROM USER_PROFILE PARTITION(20141011);

表的分区真的很有用,例如:中移动的计费系统,我们可以把表按月分区,分成十二个区,所有用户在一月份的通信费放在第一个分区,二月份的放在第二个分区,如果我们要查二月份的数据,直接告诉oracle我要查的数据在第二个分区,这样是不是要比oracle在十二个分区里去查找需要的数据要快很多?

查询表分区信息:

USER_TAB_PARTITIONS:可查看分区表的名字、归属表空间以及表的详细分区情况。
USER_PART_TABLES:可查看用户所有的分区表,以及分区方式。

SELECT TABLE_NAME,PARTITION_NAME,TABLESPACE_NAME
FROM USER_TAB_PARTITIONS;
这条语句就是表名,分区名,表空间名

表分区类型

表分区基本上可以分成几类: Range(范围)分区 Hash(哈希)分区 List(列表)分区 以及组合分区:Range-Hash,Range-List。

0 0
原创粉丝点击