(CreatedTime, Status)
我通常为我的表使用复合键Log
,但我正在重新考虑这种设计。由于CreatedTime
通常非常独特,并且Status
只有 3-5 个可能的值,因此似乎Status
在之后的进一步过滤中不会增加太多CreatedTime
。
我的大多数查询都涉及检索特定时间范围内的日志,可选择按 进行筛选或计数Status
。从概念上讲,如果我使用按时间排序的物理日志簿,则识别具有特定Status
(例如“成功”)的条目会很麻烦。另一方面,为每个 都设置单独的日志簿Status
,并按时间排序,可以使搜索更有效率——尽管合并和重新排序所有Status
值的结果可能会使事情变得复杂。数据库是否针对此类场景进行了优化?
我已经就此问题询问了三个不同的 AI,但他们的答案含糊不清且相互矛盾(甚至同一个 AI 只需提出略微不同的问题,就会给出不同的答案),而且我在 Google 和 SO 上找不到太多相关信息。有人能确认我的直觉是否正确吗?