一列中的大量数据与许多小行相比

时间:2011-04-27 15:17:16

标签: sql sql-server

我对以下各项的性能感兴趣,特别是在SQL Server中。

简单的整体概念:我有对象(比方说Type1),每个对象都有另一种对象的列表(比方说Type2)。

我当前的架构有一个每种类型的表。表1包含Type1,表2包含Type2。对于表2中的每条记录,都有一个引用将每个Type2与其各自的Type1相关联。

现在问题。我还没有走得太远,所以我不会改变太多。我不打算从数据库中单独提取Type2对象。我将始终提取Type1,它将随Type2个对象列表一起提供,或者有一个方法来检索它们。在这种情况下,最好只是序列化Type2个对象列表(比如说,JSON)并将它们存储在Table1的每个Type1列中?如果这个专栏变得非常大,我会注意到减速吗?

1 个答案:

答案 0 :(得分:2)

问题是:在任何情况下,您是否会对Type2可用的内容进行更改?几乎可以肯定,答案是肯定的:在未来的某个时刻,您将需要添加一个,或删除一个,或编辑一个。鉴于此,将它们序列化为JSON将是不利的。

使用两个单独的表保持您的安排,在INDEX中的Type1 ID上创建Table2(因此查找相关Type2的查询将是很好,很快,即使桌子变得非常大,也不会有任何麻烦。