sql-server – 从大表中获取不同值的最佳方法

前端之家收集整理的这篇文章主要介绍了sql-server – 从大表中获取不同值的最佳方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个db表,大约有10个左右的列,其中两个是月份和年份.该表现在有大约250k行,我们预计它每月增长约100-150k.很多查询涉及月份和年份列(例如,2010年3月的所有记录),因此我们经常需要获得可用的月份和年份组合(即我们是否有2010年4月的记录?).

同事认为我们应该有一个单独的表,我们的主要表只包含我们有数据的月份和年份.我们每月只会在主表中添加一次记录,因此只需在脚本末尾进行一次小更新即可将新条目添加到第二个表中.每当我们需要在第一个表上找到可用的月/年条目时,将查询第二个表.这个解决方案对我来说很糟糕,并且违反了DRY.

你认为解决这个问题的正确方法是什么?有比两张桌更好的方法吗?

解决方法

确保在这些列上有一个Clustered Index.
并将这些日期列上的表分区为数据文件放在不同磁盘驱动器上的位置
我相信保持你的指数碎片低是最好的一击.

我也相信拥有理想选择的物理视图并不是一个好主意,
因为它增加了插入/更新开销.
平均每分钟有3,5个插入.
或每次插入之间约17秒(如果我错了,平均请纠正我)

问题是你选择的频率是每17秒吗?这是关键的想法.希望它有所帮助.

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

猜你在找的MsSQL相关文章