Re: combined indexes with Gist - planner issues?

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема Re: combined indexes with Gist - planner issues?
Дата
Msg-id 4A9BEBD6.60407@enterprisedb.com
обсуждение исходный текст
Ответ на Re: combined indexes with Gist - planner issues?  (Hans-Juergen Schoenig -- PostgreSQL <postgres@cybertec.at>)
Ответы Re: combined indexes with Gist - planner issues?  (Hans-Juergen Schoenig -- PostgreSQL <postgres@cybertec.at>)
Список pgsql-hackers
Hans-Juergen Schoenig -- PostgreSQL wrote:
> my knowledge of how gist works internally is not too extensive. any
> "kickstart" idea would be appreciated.

If there's not too many of those common words, you can create a simple
partial b-tree index for each, and handle the less common words with the
gist index you have (you can drop the display_price column from the index).

Another idea:

Create a table containing one row for each word in each product:

CREATE TABLE t_product_word (id bigint, word text, display_price
numeric(10,4));

with triggers to keep it up-to-date. You can then create a regular two
column b-tree index on that:

CREATE INDEX idx_word_price ON t_product_word (word, display_price);

And query with:

SELECT p.art_number, p.title  FROM t_product p INNER JOIN t_product_word pw ON p.id = pw.id  WHERE pw.word =
'harddisk'
ORDER BY pw.display_price DESC LIMIT 10;

The t_product_word table will be huge, but with a few gigabytes of data
it should still be manageable.

--  Heikki Linnakangas EnterpriseDB   http://www.enterprisedb.com


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: autovacuum launcher using InitPostgres
Следующее
От: Hans-Juergen Schoenig -- PostgreSQL
Дата:
Сообщение: Re: combined indexes with Gist - planner issues?