用
products
字符串字段与the the clage the the the the the-cling字段,以及诸如sales_country
的值,以及使用相同字段的Application用户帐户设置(表CZ;SK;HU;PL;DE;SI;GR
)...为用户选择允许的产品的合理效率方法是什么?
我正在考虑使用users
表和
product_sales_country_map
字段创建
user_sales_country_map
表,后来是与令牌字段分开的单个国家代码。然后,将使用四个表的联接和产品代码进行分组(或对同一产品编号,仅选择一个类似的产品)。大约有10,000种产品和大约200个用户。每30分钟定期刷新餐桌;因此,曾经有一段时间可以重建产品的映射表。用户帐户有时会手动更新。因此,还可以重建用户的映射表的时间瞬间。
结果数据集是构建Web UI的来源。因此,我不是在狩猎微秒。无论如何...
是否有更简单,还具有合理效率的SQL语言方法来获取允许产品的子集?
就像我在评论中提到的那样,最好的建议是使您的数据正常化;设计是问题。但是,您不能说,我建议您回馈那些为fixiT设计的那种脱颖而出的设计的人。 但是,您可以稍微绕过一个范围的视图,以使您的数据归一化,然后
product_code
country_code
INDEX
。但是,我们可以与STRING_SPLIT
APPLY
。有些编造,过度简化的数据(由于我们缺乏示例数据),您的
APPLY
S,JOIN
,LIKE
Es可能看起来像这样。还要注意,这确实会强制执行参考完整性;如果将值TABLE
将其添加到VIEW
中,则该行将简单地出现在INDEX
中。但是,它确实暗中强制执行各国的独特性。如果您将值
INSERT
将其添加到'PQ,RS'
中,则会遇到错误。
dbo.DenormalisedTable
DB<>小提琴