使用来自多个表和列的数据在表上创建索引

时间:2019-04-08 10:31:14

标签: postgresql indexing tsvector

我正在尝试使用各种表中的信息创建索引。

Table A
  id
  name
  age

Table B
  id
  id_c

Table C
  id
  country

我的查询是这样:

SELECT A.name, A.age, C.country
FROM "A", "B", "C"
WHERE A.id = B.id AND B.id = c.id

我可以通过索引以这种方式搜索所需的信息:

SELECT A.name, A.age, C.country
FROM "A", "B", "C"
WHERE A.id = B.id AND B.id = c.id and to_tsvector('simple', f_concat_ws(' ', A.name, A.age, B.country))
@@ plainto_tsquery('simple', 'john 20 australia');

我的问题是如何使用以下方法在表A上创建索引:

f_concat_ws(' ', A.name, A.age, B.country))

我只能

CREATE INDEX people_idx ON "Table A" USING GIN (
       to_tsvector('simple', f_concat_ws(' ', A.name, A.age)));

0 个答案:

没有答案