【发布时间】:2022-01-01 03:48:55
【问题描述】:
在如下架构上创建索引和唯一约束的最佳方法是什么?
我的大部分查询将基于date 列进行过滤。如果我在 date 上创建单列索引和一个包含(日期和键)的唯一约束,我最终会创建两个索引,因为唯一约束也会创建一个索引。
有没有更好的方法解决这个问题?
| date | key | value |
|---|---|---|
| 12-12-2021 | a | 3 |
| 12-12-2021 | b | 4 |
| 12-13-2021 | a | 3 |
| 12-13-2021 | b | 4 |
【问题讨论】:
-
通过在 (date,key) 上创建主键将为您提供索引以及强制执行的唯一性。仅使用日期字段过滤器的查询很可能会使用范围扫描,因为它位于索引的前沿(first_column)
标签: sql postgresql indexing database-design