database - 数据库表可以在列的函数上建立索引吗?
问题描述
数据库索引可以位于列的函数上,还是必须精确地位于列本身的内容上而无需任何更改/调整/计算?
简单的例子:
如果transactions
表包含指定交易日期时间的列(例如2020-12-13 12:58:59
),如果我们只想索引2020-12-13
交易的日期(例如),是否需要创建另一列(仅包含日期),或者可以在日期时间列的函数上创建索引?
解决方案
Postgres 实际上支持函数索引。例如,我们可以定义:
CREATE INDEX idx ON transactions (cast(ts_col AS date));
推荐阅读
- excel - 查找 2 个工作表中特定列之间的差异
- python - 在 Python/Django 测试中使用类使代码更可重用
- reactjs - 如何在 React 中将类组件对象转换为功能组件对象?
- hive - Hive:计算只分配给集群中的一个节点
- python - 从 Python 中的嵌套模块导入类
- c - 跨语言 HTTP 解析器?
- wordpress - ContactForm7 和 sweetallert2 更新后不起作用
- vmware - VMWare Vsphere 客户端 - 从部署 OVF 模板向导设置 VM 主机名
- sql-server - 在 SQL Server 中更改 FOR XML PATH 生成的列名
- css - Module.css 在 React 中不起作用。因此 css 也无法继续。请回复