2012-01-18 56 views
0

我有一张包含数百万行的表格,查询它时需要很长时间才能从中检索数据。我试图根据日期进行分区。我有下列列表名称为Oracle中表格的分区

ERROR_IND 
FEED_ID 
QUEUE_ID 
FEED_DT_TM-- Date datatype. 

我试过使用Oracle中可用的重定义包对其进行分区,但没有奏效。请告诉我一种有效的表格分区方法。

+4

你是什么意思,没有工作?你收到什么错误信息? – Sathya 2012-01-18 04:22:11

+0

可能首先阅读Oracle文档(http://docs.oracle.com/cd/E18283_01/server.112/e16541/part_admin001.htm)。你如何访问数据将在很大程度上决定你的分区方法(范围分区将是我对你发布内容的猜测)。 – tbone 2012-01-18 12:37:29

回答

3

表不能被重新定义,如果:

  • 他们已经物化视图或对他们的物化视图日志
  • 它们含有BFILE,LONG RAW或LONG列
  • 他们属于SYS或SYSTEM
  • 数据库处于NOLOGGING模式
  • 它们是临时的或聚簇

调用DBMS_REDEFINITION.CAN_REDEF_TABLE将确认您的表是否合适。

请按照此link了解如何使用DBMS_REDEFINITION对现有表进行分区。