ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle分区表学习(二)

oracle分区表学习(二)

原创 Linux操作系统 作者:Nalternative 时间:2011-02-10 14:16:21 0 删除 编辑

           分区键(partition key)是决定数据行属于哪个分区的一组数据列。

  1.       由 1 至 16 个数据列顺序构成
  2.       不能包含 LEVELROWID,或 MLSLABEL 虚列(pseudocolumn),也不能包含类型为 ROWID 的列
  3.       不能包含可为空(NULLable)的列

SQL> insert into sales(invoice_no) values(35);
 
insert into sales(invoice_no) values(35)
 
ORA-14400: 插入的分区关键字未映射到任何分区

SQL> insert into sales(invoice_no,sale_year,sale_month,sale_day) values(35,2000,02,65);
 
insert into sales(invoice_no,sale_year,sale_month,sale_day) values(35,2000,02,65)
 
ORA-14400: 插入的分区关键字未映射到任何分区

SQL> update sales set sale_year=1998;
 
update sales set sale_year=1998
 
ORA-14402: 更新分区关键字列将导致分区的更改

 

选择分区索引可以参考:

  • 如果表的分区键(partitioning column)是索引键(index key)的子集,应使用本地索引。否则继续参考经验 2。
  • 如果索引为唯一索引(unique),应使用全局索引。否则继续参考经验 3。
  • 如果用户对可管理性的要求更高,应使用本地索引。否则继续参考经验 4。
  • 如果应用系统为 OLTP,且对系统的响应时间要求较高,应使用全局索引。如果应用系统为 DSS,且对系统的数据吞吐量要求较高,应使用本地索引。

     

    全局分区索引

    全局非分区索引

  • 来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25323853/viewspace-686978/,如需转载,请注明出处,否则将追究法律责任。

    请登录后发表评论 登录
    全部评论

    注册时间:2011-02-09

    • 博文量
      123
    • 访问量
      177702