0

我有一张桌子

create table Objects (
    ObjectID bigint not null primary key,
    ObjectRef1 varchar(50) not null,
    ObjectRef2 varchar(50) not null,
    ObjectRef3 varchar(250) not null 
)

所有字段都是唯一的。该表大约有 1 亿行。所有列都有唯一索引,并且经常用于查询。

什么更快?要将每个 varchar 字段规范化为单独的表,还是保持原样?如果规范化,该表将只有 ObjectID 列和规范化表的 ID,我会进行内部连接以获取 ObjectRefX 的值。

对于这么多的数据,我是否应该考虑使用 Hadoop 等其他数据库?

4

1 回答 1

1

关于性能的一件事是无法预测,除非查询运行,否则我建议您保持表原样,因为在不同表中规范化这些数据会增加依赖性,因为您将使用外键连接表。更重要的是,所有列都是唯一的,因此没有可以减少的冗余。放置索引。并尝试优化查询而不是这里的架构。

欢迎对上述答案进行任何更正。

希望我能帮上忙

谢谢

阿舒托什·艾莉亚

于 2013-08-26T08:48:40.553 回答