是否可以将群集添加到现有表中?例如......
我有一张桌子:
CREATE TABLE table_name(
t_id number PRIMARY KEY,
t_name varchar2(50));
集群:
CREATE CLUSTER my_cluster
(c_id NUMBER) SIZE 100;
是否有像ALTER TABLE t_name ADD CLUSTER my_cluster(t_id);
之类的命令或类似的东西?
因为我希望表看起来像这样:
CREATE TABLE table_name(
t_id number PRIMARY KEY,
t_name varchar2(50))
CLUSTER my_cluster(t_id);
丢弃所有连接的表并不是我想要做的 感谢
答案 0 :(得分:-2)
您真的需要了解群集的真正含义。来自the docs:
“群集是物理存储的一个或多个表的组 在一起,因为它们共享通用列并经常使用 一起。因为相关的行是物理存储在一起的磁盘 访问时间有所改善。“(强调我的)
关键是,群集中的表格位于同一地点。这是一种物理安排。因此,要使数据库集群现有表,我们必须删除并重新创建它们。
通过以不同的名称构建聚簇表,可以最大限度地减少停机时间。在准备交换之前,您需要将数据与实时表保持同步。执行此操作时,您需要限制对数据库的访问,以防止数据丢失。然后重命名旧表,使用正确的名称重命名聚簇表,运行必要的授权并重新编译无效的过程,同义词等。