我有一个大约有500,000个用户的系统表。该表保存了各种服务器的配置,以及它们是否接受来自用户的登录。
TABLE Config
varchar:SocialSecurityNumber
DateTime:Date
varchar:Server
bool:Open
现在某些配置可能适用于所有用户,因此SocialSecurityNumber = *
这意味着为特定用户提取配置
select * from Config
where SocialSecurityNumber='*' OR SocialSecurityNumber='xxx'
假设几乎没有适用于所有SSN的配置数据,我可以将数据拆分为两个表,其中一个包含SSN = *,另一个包含特定用户。我希望MSSQL能够缓存全局表的大部分内容
select * from Config where SocialSecurityNumber='xxx'
union all
select * from ConfigGlobalSSN
您对此类努力的体验是什么?联盟所有人都在桌子上慢吗?