背景
- 微软 SQL Server 2008 R2
- 每天有约 10 万条记录的表
- 大多数查询此表的查询按所述列过滤
问题
因此,为了给数据库增加一点性能改进,一个选项是在日期列上添加索引,但不是将日期存储为date
类型,而是integer
使用以下格式将其存储为:
ddMMyyyy
**Edit: Changed the format to yyyyMMdd after looking at comments**
问题
- 你认为这是个好主意吗?
- 你会通过这样做获得任何改进吗?
- 有什么可能的缺点吗?
我们仍处于设计阶段,因此如果我们愿意,我们仍有时间进行更改。
我们希望有很多查询通过此列进行过滤,但是 IMO 这不会带来任何性能改进,如果有一个 Date 列而不指定其中的时间也是一样的。