1

我创建了一个 postgres 表,如下所示:

name   ID   SNO
jack   12   1
bob    123  2
andy   34   3
jack   23   4

等等。它总共有4100万个条目。SNO 是我连续 INT 值的主键。当我运行查询以选择特定的 SNO 时,它的运行速度非常快。然而!我需要对“名称”运行查询,该查询应返回特定名称的所有实例。请注意,名称不必是唯一的,并且很可能重复但具有不同的 ID。搜索名称的查询需要很长时间才能找到。我尝试使用以下方法在“名称”上创建索引:

CREATE INDEX name ON userlist(name)

然而,虽然这提高了性能,但它仍然太慢了。有什么方法可以索引作为“文本”数据类型的“名称”来提高访问性能,就像访问“int”SNO一样?

4

1 回答 1

1

尝试为内存中的索引腾出足够的空间。该shared_buffers设置可以对此有所帮助。

于 2012-07-20T20:15:09.417 回答