Postgresql - 一个 ini4 与两个 int2 用于索引

标签 postgresql indexing

我在 postgresql 中有一个包含数百万行的表。一行可以由八个 int4 或十六个 int2 列表示。
我想在此表上有一个多列(btree)索引:create index on mytable(c1,c2,c3,c4,....c8); 我想知道什么是更好的解决方案(出于性能目的):一个具有八个(int4 类型)列的多列索引或一个具有十六个(int2 类型)列的多列索引。

换句话说:

在 mytable 上创建索引 (c_int4_1, c_int4_2, ... c_int4_8);

对比

在 mytable 上创建索引 (c_int2_1,c_int2_2...c_int2_16);

最佳答案

无论哪个最自然地匹配数据的使用。当强制将其转换为另一种格式时,btree 上更高效的任何 yield 都将再次丢失。

关于Postgresql - 一个 ini4 与两个 int2 用于索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8511508/

相关文章:

postgresql - GROUP BY 时前两个值的差异

django - 如何在 Django 中创建一个由两个字段组成的主键?

sql - rails 4 复杂的 SQL 作用域

python - 如何删除 numpy 数组中所有 numpy 数组中的第 n 个元素?

java - 你如何使用@index和hibernate在一个字段上放置多个索引

javascript - 如何根据类似的类获取容器内元素的索引?

mysql - 在 mysql 中使用 ifnull 和索引创建

sql - 递归查询中的行锁定

python - django.core.exceptions.ImproperlyConfigured : The database name '****.amazonaws.com' (85 characters) is longer than PostgreSQL's limit of 63 characters

sql - 索引空值以在 DB2 上快速搜索