2

我们有一个存储约 5m 联系人的数据库,每个联系人都有多个地址。

数据库被规范化,一个单独的地址表,带有 FK 到联系人,正确索引。~10m 地址。

地址再次参考省和国家表。

由于这是一个一次查看一个联系人的平台,并且不需要对地址属性进行搜索(如果 - 我们使用 Lucene.Net)......将地址信息放入 XML 字段是否有意义联系方式?

<Addresses>
    <Address Street="" City="" ... />
    <Address Street="" City="" ... />
</Addresses>

它并不是真正的非规范化 - 但仍然摆脱了 3 个连接(地址/国家/省)

或者问另一种方式.... 5mio 记录和 10mio 记录加入是否会对数据库造成任何压力?(例如,大约 50 个请求同时访问数据库?)

做这样的事情会是过早的优化吗?(当我完全确定我永远不会查询地址属性时......)

我们正在使用 SQL Server 2012

4

1 回答 1

0

如果您将此列用作 nosql - 只是为了存储值并获取整个数据,则可以使用此解决方案。但是有一些限制:

  1. 难以搜索此列中的数据(但可能)
  2. 难以修改此列中的数据(但可能)
  3. 例如,您无法使用 EF 获取此列中的部分数据(仅使用存储过程)
  4. 没有外键(你必须自己支持数据一致性)

您将获得以下好处:

  1. 简单存储(一张表包含所有数据)
  2. 简单查询

很快,是的,您可以使用此解决方案,因为您说您不会查询部分数据或更改它。

于 2014-01-18T07:41:54.700 回答