Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server性能规范化_Sql_Sql Server_Hadoop - Fatal编程技术网

SQL Server性能规范化

SQL Server性能规范化,sql,sql-server,hadoop,Sql,Sql Server,Hadoop,我有一张桌子 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字段规范化为单独

我有一张桌子

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那样的其他数据库来处理这些数据?

< P>一个关于性能的事情是不能预测的,除非查询运行,否则我建议您保持表的原样,因为在不同的表中规范这个数据会增加依赖性,因为您将把表与外键连接起来。而且所有的列都是唯一的,因此没有可以减少的冗余。放置索引。并尝试优化查询,而不是此处的模式

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

希望我能帮上忙

谢谢


Ashutosh Arya

这可能是本文的主题,但您更有可能在服务器故障时收到有用的答案。