微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > Oracle 11g分区功能新革命

Oracle 11g分区功能新革命

时间:09-10 来源:IT专家网 点击:

相同的分区方案。我们不需要把分区键存储在detail表格中,通过关键词"PARTITION BY REFERENCE",detail表格获得master表格的分区方案。

  虚拟列分区:在之前的Oracle版本里,只有分区键存在与表格中才可以实现对表格的分区功能。而Oracle 11G的新功能"虚拟列"打破了这一限制,允许通过使用表格中的一列或多列的表述确定分区键。而虚拟列只作为元数据存储。

  例如:在表格ACCOUNTS中添加一个虚拟列:  

SQL>CREATE TABLE ACCOUNTS
  (acc_no number(10) not null,
  acc_name varchar2(50) not null,
  acc_loc varchar2(5),
  acc_branch number(2) generated always as
  (to_number(substr(to_char(acc_no),1,2)));

  使用虚拟列作为分区键:  

SQL>CREATE TABLE accounts
  (acc_no number(10) not null,
  acc_name varchar2(50) not null,
  acc_loc varchar2(5),
  acc_branch number(2) generated always as
  (to_number(substr(to_char(acc_no),1,2)))
  partition by list (acc_branch);

  分区建议器

  Oracle 11g还提供了一个分区建议器,可支持分区建议的生成,类似于10G中支持实物化视图、实物化视图日志和索引的功能。事实上,分区建议器在Oracle 11g中是SQL Access Advisor的一部分。这个建议器帮助生成建议,并可以显示出推荐分区实施后可获得的效果。它还会生成创建有效分区的脚本,可手动通过SQL*Plus提交给Oracle或Enterprise Manager。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top