1
我有两个表点击和设备(例如)。Vertica COPY与预加入表
CREATE TABLE Hits (
url VARCHAR(255) NOT NULL,
DeviceId INTEGER NOT NULL
);
CREATE TABLE Devices (
DeviceId INTEGER NOT NULL PRIMARY KEY,
OS VARCHAR(30) NOT NULL,
Device VARCHAR(30),
);
ALTER TABLE Hits ADD CONSTRAINT fk_devices FOREIGN KEY(DeviceId) REFERENCES Devices(DeviceId);
另外,我有一个原始数据以CSV:
some url|Android|Device name
another url|Android|Device name
url|iOS|iPhone
url|Android|
的原始数据被填充在实时,我需要把它放到Vertica的。 使用COPY在单个表中加载所有数据没有问题,但我想优化查询和存储。我如何加载它?
就性能而言,将所有数据放在一个平面表中将为您提供最佳性能,因为您将避免在磁盘空间方面需要连接(像vertica这样的mpp数据库中的连接有它自己的问题)表格将不会添加高度覆盖,因为数据以包含格式保存 – elirevach
非常奇怪,因为vertica中的结构[示例](https://my.vertica.com/docs/7.2.x/HTML/index.htm#Authoring/GettingStartedGuide /Appendix/Tables/Tables.htm%3FTocPath%3DGetting%2520Started%7CAppendix%253A%2520VMart%2520Example%2520Database%2520Schema%252C%2520Tables%252C%2520and%2520Scripts%7C_____1)不是一个表。 – komex