我想知道我是否可以在已有的表上使用分区。我有一个表,我想根据一列中的值进行划分。我有一些票据(t_id),它们有不同的帐户(a_id)。我想基于a_id划分表格。有可能这样做吗? 因为在该表上运行查询或过程需要花费大量时间。如果不可能,还有其他方法可以减少程序和查询所花费的时间吗?
答案 0 :(得分:1)
您可以使用DBMS_REDEFINITION包对现有表进行分区。以下链接说明了如何对现有表进行分区。
https://oracle-base.com/articles/misc/partitioning-an-existing-table
程序和查询的执行取决于很多因素。单独对表格进行分区可能没有用。首先,您可以查看缓慢查询的解释计划。它将显示您是否需要收集统计数据或添加索引等。
答案 1 :(得分:0)
您不能直接分区现有的非分区表。您需要根据以下分区方法创建临时表/新表:
<强> DBMS_REDEFINITION 强>
<强> EXCHANGE PARTITION 强>