加入收藏 | 设为首页 | 会员中心 | 我要投稿 厦门站长网 (https://www.0592zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2021-02-19 15:35:02 所属栏目:MsSql教程 来源:网络整理
导读:假设我提供用户检查她说的语言并将其存储在数据库中.重要的一点是,我不会搜索db中的任何值,因为我将有一些单独的搜索引擎用于搜索. 现在,存储这些值的显而易见的方法是创建一个类似的表 UserLanguages( UserID nvarchar(50),LookupLanguageID int) 但该网

假设我提供用户检查她说的语言并将其存储在数据库中.重要的一点是,我不会搜索db中的任何值,因为我将有一些单独的搜索引擎用于搜索.
现在,存储这些值的显而易见的方法是创建一个类似的表

UserLanguages
(
 UserID nvarchar(50),LookupLanguageID int
)

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

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

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

谢谢,
安德烈

解决方法

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

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

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

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

(编辑:厦门站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读