我正在为一个将大量使用基于时间的查询的应用程序设计数据库布局。我试图弄清楚哪个是数据库布局的最佳选择。我控制插入/更新过程,但数据将反馈到各种 Excel 电子表格中,并且消费者将多种多样,以至于期望能够在客户端做很多事情是不现实的。任何字段都可以用于 WHERE 或 ORDER BY。我的选择是:
- 存储的日期时间字段和单独的计算日期/时间字段
- 存储的时间和日期字段,以及计算的日期时间字段
- 没有计算字段 - 在插入/更新时分别存储所有 3 个字段
计算字段似乎比重复数据和风险不一致更明智,这让我决定是拆分日期时间,还是连接单独的字段以获得所需的计算字段。
我的直觉告诉我,连接应该比拆分更有效,但它真的有很多吗?