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

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

发布时间:2020-12-12 07:47:38 所属栏目:MsSql教程 来源:网络整理
导读:我有一个db表,大约有10个左右的列,其中两个是月份和年份.该表现在有大约250k行,我们预计它每月增长约100-150k.很多查询涉及月份和年份列(例如,2010年3月的所有记录),因此我们经常需要获得可用的月份和年份组合(即我们是否有2010年4月的记录?). 同事认为我们
我有一个db表,大约有10个左右的列,其中两个是月份和年份.该表现在有大约250k行,我们预计它每月增长约100-150k.很多查询涉及月份和年份列(例如,2010年3月的所有记录),因此我们经常需要获得可用的月份和年份组合(即我们是否有2010年4月的记录?).

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

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

解决方法

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

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

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

(编辑:李大同)

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

    推荐文章
      热点阅读