【发布时间】:2017-04-18 13:48:42
【问题描述】:
假设我创建了下表:
CREATE TABLE TABLE1
(
id INT NOT NULL
country VARCHAR(10) NOT NULL
name VARCHAR(10) NOT NULL
productType VARCHAR(10) NOT NULL
)
例如,如果我有不同的 producType 值(type1、type2 .. 等) 我根据这些类型进行分区,例如 partition1 用于 type1 等等。 国家的可能值是:国家 1、国家 2 和国家 3。 如何执行或模拟基于国家/地区的水平碎片,并能够使用与此类似的命令:
SELECT * FROM partition1@country1
WHERE name = someName
是否要求数据库必须存储在多个服务器上才能做到这一点? 如果是这样,是否有另一种不需要这样做的方法(在 Oracle 11g 上)?
【问题讨论】:
-
12c 之前不支持分片(物理分区)。但是,如果您不希望这些国家/地区驻留在多个服务器上,那么无论如何您都不是在谈论分片。那你想要什么?
-
表分区不被认为是分片?我正在做一个作业,我必须做一个水平碎片,这也必须基于位置,所以我必须使用一些命令,我必须在其中指定位置,如“@countryName”,我不'不知道在没有多个服务器但只有分区表的情况下是否可以在 Oracle 11g 中做到这一点。
-
没有。共享是跨多个数据库实例拆分表。分区是在一个数据库中组织表的布局。
-
那个命令只能在有多个数据库实例的情况下使用?
标签: sql database oracle oracle11g partitioning