sql-server – 从大表中获取不同值的最佳方法
发布时间:2020-05-23 23:38:54 所属栏目:MsSql 来源:互联网
导读:我有一个db表,大约有10个左右的列,其中两个是月份和年份.该表现在有大约250k行,我们预计它每月增长约100-150k.很多查询涉及月份和年份列(例如,2010年3月的所有记录),因此我们经常需要获得可用的月份和年份组合(即我们是否有2010年4月的记录?). 同事认为我们
|
我有一个db表,大约有10个左右的列,其中两个是月份和年份.该表现在有大约250k行,我们预计它每月增长约100-150k.很多查询涉及月份和年份列(例如,2010年3月的所有记录),因此我们经常需要获得可用的月份和年份组合(即我们是否有2010年4月的记录?). 同事认为我们应该有一个单独的表,我们的主要表只包含我们有数据的月份和年份.我们每月只会在主表中添加一次记录,因此只需在脚本末尾进行一次小更新即可将新条目添加到第二个表中.每当我们需要在第一个表上找到可用的月/年条目时,将查询第二个表.这个解决方案对我来说很糟糕,并且违反了DRY. 你认为解决这个问题的正确方法是什么?有比两张桌更好的方法吗? 解决方法确保在这些列上有一个Clustered Index.并将这些日期列上的表分区为数据文件放在不同磁盘驱动器上的位置 我相信保持你的指数碎片低是最好的一击. 我也相信拥有理想选择的物理视图并不是一个好主意, 问题是你选择的频率是每17秒吗?这是关键的想法.希望它有所帮助. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql-server – 请解释SQL Azure“master”数据库
- mysql 触发器实现两个表的数据同步
- 如何在SQL Server中生成一系列日期
- sql – select子句中多个set-returns函数的预期行为是什么?
- sql-server – Windows Server 2012 Hyper-V重命名 – SQL
- DB2数据库的备份和恢复
- 64位Win10系统安装Mysql5.7.11的方法(案例详解)
- Win7系统下mysql 5.7.11安装教程详解
- tsql – 有没有办法在t-sql中的print语句后停止额外的新行?
- sql-server – 如何在SQL Server 2008中强制删除数据库
