目前,我们通过创建不同的查找表(性别、状态等...)将静态数据(例如性别、婚姻状况、状态等)存储到数据库中。我们有近 10 个查找表。所有这些表都是事务表 - 用户(存储所有用户的人口统计信息)的 FK。其中一些静态数据也被其他事务表使用。现在,在获取用户信息时,我们通常会加入这些表并获取相关文本。当然,这么多的连接会产生性能问题,而且根据 MSDN,我们在选择查询中的连接数不应超过 5 个。现在为避免这种情况,我们可以将所有静态数据移动到 xml 文件并从中读取。当然我们会缓存 xml 数据,所以它只会被读取一次。我想知道是不是一个好办法。我可以看到以下权衡 -
- 无法保持参照完整性。
- 在使用负载平衡时,所有服务器都需要有 xml 文件。
我不希望这些值在枚举中,因为这些需要本地化。我看到保留在 xml 中的唯一优点是它减少了 DB 的开销(创建 10 个表)。我可以很好地缓存存储在 DB 中的静态数据。那么想知道仍然将数据存储在 xml 中是比 DB 更好的选择吗?
PS:应用程序是 Web 应用程序,在 .net 3.5 中开发。