Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / конфигурация pgsql сервера / 9 сообщений из 9, страница 1 из 1
22.10.2007, 11:49
    #34884263
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
конфигурация pgsql сервера
уже спрашивал ....

4ГБ памяти, база в основном на выборку, FTSearch.

Какие параметры pgsql можно изменить, чтобы повысить скорость выборок?
сейчас запрос выюирающий первых 100 записей работает секунд 20, а все потому, что внутри получается множество из 4,7 млн записей

-> Bitmap Index Scan on xprop_turk_xstring_06_idx (cost=0.00..211.66 rows=5565 width=0) (actual time=755.808..755.808 rows=21750 loops=1)"
" Index Cond: (xstring_vector @@ '''poli'' & ''entir'''::tsquery)"
" -> Bitmap Index Scan on xprop_turk_xpath_06_idx (cost=0.00..239.92 rows=5565 width=0) (actual time=19058.079..19058.079 rows=4703949 loops=1)" " Index Cond: (xpath_vector @@ '''4054126'''::tsquery)"
"Total runtime: 19827.134 ms"
...
Рейтинг: 0 / 0
22.10.2007, 11:57
    #34884289
Nick Gazaloff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
конфигурация pgsql сервера
Это индекс GiST или GIN?
...
Рейтинг: 0 / 0
22.10.2007, 11:59
    #34884299
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
конфигурация pgsql сервера
Nick GazaloffЭто индекс GiST или GIN?

CREATE TABLE "public"."xprop_turk_06" (
CHECK ((creation_date >= ('2006-01-01'::date)::timestamp without time zone) AND (creation_date < ('2006-01-01'::date + '1 year'::interval)))
) INHERITS ("public"."xprop_turk")
WITHOUT OIDS;

CREATE INDEX "xprop_turk_06_created_idx" ON "public"."xprop_turk_06"
USING btree ("creation_date");

CREATE INDEX "xprop_turk_xaccess_06_idx" ON "public"."xprop_turk_06"
USING gist ("xaccess_vector");

CREATE INDEX "xprop_turk_xpath_06_idx" ON "public"."xprop_turk_06"
USING gist ("xpath_vector");

CREATE INDEX "xprop_turk_xstring_06_idx" ON "public"."xprop_turk_06"
USING gist ("xstring_vector");
...
Рейтинг: 0 / 0
22.10.2007, 13:00
    #34884556
Oleg Bartunov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
конфигурация pgsql сервера
Winnipuhуже спрашивал ....

4ГБ памяти, база в основном на выборку, FTSearch.

Какие параметры pgsql можно изменить, чтобы повысить скорость выборок?
сейчас запрос выюирающий первых 100 записей работает секунд 20, а все потому, что внутри получается множество из 4,7 млн записей

-> Bitmap Index Scan on xprop_turk_xstring_06_idx (cost=0.00..211.66 rows=5565 width=0) (actual time=755.808..755.808 rows=21750 loops=1)"
" Index Cond: (xstring_vector @@ '''poli'' & ''entir'''::tsquery)"
" -> Bitmap Index Scan on xprop_turk_xpath_06_idx (cost=0.00..239.92 rows=5565 width=0) (actual time=19058.079..19058.079 rows=4703949 loops=1)" " Index Cond: (xpath_vector @@ '''4054126'''::tsquery)"
"Total runtime: 19827.134 ms"

Приведи запрос и схему.

Попробуй GIN индекс. Не забудь maintenance_work_mem увеличить, чтобы индекс не строился
вечность.
...
Рейтинг: 0 / 0
22.10.2007, 13:07
    #34884596
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
конфигурация pgsql сервера
Oleg Bartunov Winnipuhуже спрашивал ....

4ГБ памяти, база в основном на выборку, FTSearch.

Какие параметры pgsql можно изменить, чтобы повысить скорость выборок?
сейчас запрос выюирающий первых 100 записей работает секунд 20, а все потому, что внутри получается множество из 4,7 млн записей

-> Bitmap Index Scan on xprop_turk_xstring_06_idx (cost=0.00..211.66 rows=5565 width=0) (actual time=755.808..755.808 rows=21750 loops=1)"
" Index Cond: (xstring_vector @@ '''poli'' & ''entir'''::tsquery)"
" -> Bitmap Index Scan on xprop_turk_xpath_06_idx (cost=0.00..239.92 rows=5565 width=0) (actual time=19058.079..19058.079 rows=4703949 loops=1)" " Index Cond: (xpath_vector @@ '''4054126'''::tsquery)"
"Total runtime: 19827.134 ms"

Приведи запрос и схему.

Попробуй GIN индекс. Не забудь maintenance_work_mem увеличить, чтобы индекс не строился
вечность.

попробую...

индекс не строится, это уже готовая для выборок таблица...
...
Рейтинг: 0 / 0
22.10.2007, 13:11
    #34884618
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
конфигурация pgsql сервера
и еще вопрос.

Не уверен как работает pgsql на обычных заросах, но вот какая ситуация, пример:

есть запрос select * from t where
where
xstring_vector @@ to_tsquery('default','polis & entire') -- здесь 700000
and
xpath_vector @@ to_tsquery('default','4054126') -- здесь 7 000 000
limit 100;


и как бы я ни крутил, не переставлял критерий: всегда выбираются оба подмножества, а потом делается пересечение

так ли это? и можно ли бороться с этим явлением?
...
Рейтинг: 0 / 0
22.10.2007, 13:16
    #34884641
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
конфигурация pgsql сервера
CREATE TABLE "public"."xprop_turk_06" (
CHECK ((creation_date >= ('2006-01-01'::date)::timestamp without time zone) AND (creation_date < ('2006-01-01'::date + '1 year'::interval)))
) INHERITS ("public"."xprop_turk")
WITHOUT OIDS;

CREATE INDEX "xprop_turk_06_created_idx" ON "public"."xprop_turk_06"
USING btree ("creation_date");

CREATE INDEX "xprop_turk_xaccess_06_idx" ON "public"."xprop_turk_06"
USING gist ("xaccess_vector");

CREATE INDEX "xprop_turk_xpath_06_idx" ON "public"."xprop_turk_06"
USING gist ("xpath_vector");

CREATE INDEX "xprop_turk_xstring_06_idx" ON "public"."xprop_turk_06"
USING gist ("xstring_vector");

----------------
запрос

select
node_id, parent_id, node_type, node_subtype
from xprop_turk
where
xstring_vector @@ to_tsquery('default','polis & entire')
and
xpath_vector @@ to_tsquery('default','4054126') --4054126 wenig -- 4095961 viel
and creation_date > ('2006-01-01 00:00:00'::timestamp + '1 month'::interval)
and creation_date <= ('2006-12-31 00:00:00'::timestamp)
limit 100;

-------------

в поле xstring (соответственно xstring_vector ) находится нормальный текст
в поле xpath (соответственно xpath_vector ) находится текст, в котром одни числа:
111 123 654
...
Рейтинг: 0 / 0
22.10.2007, 14:01
    #34884850
LeXa NalBat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
конфигурация pgsql сервера
Winnipuhи как бы я ни крутил, не переставлял критерий: всегда выбираются оба подмножества, а потом делается пересечение

так ли это? и можно ли бороться с этим явлением?OFF: и все-таки зачем один и тот же вопрос задавать три раза?
...
Рейтинг: 0 / 0
22.10.2007, 14:02
    #34884857
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
конфигурация pgsql сервера
LeXa NalBat Winnipuhи как бы я ни крутил, не переставлял критерий: всегда выбираются оба подмножества, а потом делается пересечение

так ли это? и можно ли бороться с этим явлением?OFF: и все-таки зачем один и тот же вопрос задавать три раза?

я не один и тот же, я же изменяю его....ткскыть привношу разнообразие
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / конфигурация pgsql сервера / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]