sql - PostgreSQL 中 varchar 列的索引长度

标签 sql postgresql indexing ddl

在MySQL中我们可以这样设置要索引的字段的长度:

CREATE INDEX part_of_name ON customer (name(10));

我们可以在 PostgreSQL 中做同样的事情吗?如果是,那么如何?

最佳答案

如果数据类型允许修改长度,则语法接近:

create index part_of_name on customer((customer_name::varchar(10)));

Here is an example如何使用该指数;您必须在条件中使用相同的类型。

对于文本,我认为@Mureinik 的建议是唯一的选择。实际上,强制转换的索引无论如何都是基于表达式的索引,所以我的答案有点相同,但更接近 OP 语法。

关于sql - PostgreSQL 中 varchar 列的索引长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49167972/

相关文章:

sql - 非常庞大的 SQL 数据库 : How should the schema look like?

ruby-on-rails - Rails 中的 pg_dump 版本不匹配

sql - 带有 TimescaleDB 的 PostgreSQL 在索引创建期间仅使用单个核心

java - hibernate : Strange TypeCast Exception Thrown While retrieving records in Java from postgres database table

c - 在 C 中,像 "a string"[4] 这样的东西究竟意味着什么?

sql - 如何在 Postgres 9 中创建复合索引

mysql - 转换为 Float 返回 ActiveRecord::StatementInvalid: Mysql2::Error

javascript - 从对象中检索数据在 Ionic 中不起作用

php - 将 2 个 sql 值添加到数组中

MySQL 将 DATETIME 更新为 DATE