sql – 在数据库中存储多个选择值

前端之家收集整理的这篇文章主要介绍了sql – 在数据库中存储多个选择值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我提供用户检查她说的语言并将其存储在数据库中.重要的一点是,我不会搜索db中的任何值,因为我将有一些单独的搜索引擎用于搜索.
现在,存储这些值的显而易见的方法是创建一个类似的表
UserLanguages
(
 UserID nvarchar(50),LookupLanguageID int
)

但该网站将是高负荷,我们正试图消除任何可能的开销,所以为了避免在UI上显示结果时与主成员表连接,我想在主表中为用户存储语言,拥有它们逗号分隔,如“12,34,65”

同样,我不搜索它们,所以我不担心必须在该列上进行全文索引.

我真的没有看到这个解决方案的任何问题,但我忽略了什么吗?

谢谢,
安德烈

解决方法

你现在可能不会遗漏任何东西,但是当你的需求发生变化时,你可能会后悔这个决定.你应该按照你的第一个本能建议将它存储为标准化.这是正确的方法.

你所建议的是经典的过早优化.您还不知道该加入是否会成为瓶颈,因此您不知道您是否真的在购买任何性能改进.等到您可以对事物进行分析,然后您就会知道是否需要对该部分进行优化.

如果是这样,我会考虑一个物化视图,或者其他一些方法,它使用规范化数据预先计算答案到不被视为记录簿的缓存.

更一般地说,如果有必要,可以进行许多可能的优化,而不会以您建议的方式影响您的设计.

原文链接:https://www.f2er.com/mssql/84020.html

猜你在找的MsSQL相关文章