powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / tsearch2 - как оптимизировать
1 сообщений из 1, страница 1 из 1
tsearch2 - как оптимизировать
    #34774686
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть таблица, в ней полнтекстово индексируются три поля.
Как оптимизировать структуру?

в поле xstring - может быть до 50К текста, в xaccess - до 5к.

Если дать запрос типа
select * from xprop
where
xaccess_vector @@ to_tsquery('default','dibs_RoleDView') and
xstring_vector @@ to_tsquery('default','mansur')
and xpath_vector @@to_tsquery('616499 & !568888')
limit 100;

то работает несколько минут, при том, что запсией около 10 млн.

CREATE TABLE "public"."xprop" (
"node_id" "public"."uuid" NOT NULL,
"xpath" VARCHAR,
"xstring" VARCHAR,
"parent_id" "public"."uuid",
"xaccess" VARCHAR,
"xstring_vector" "public"."tsvector",
"xpath_vector" "public"."tsvector",
"node_type" INTEGER,
"node_subtype" INTEGER,
"xaccess_vector" "public"."tsvector",
CONSTRAINT "xprop_pkey" PRIMARY KEY("node_id")
) WITH OIDS;

CREATE INDEX "xaccess_idx" ON "public"."xprop"
USING gist ("xaccess_vector");

CREATE INDEX "xpath_idx" ON "public"."xprop"
USING gist ("xpath_vector");

CREATE INDEX "xstring_idx" ON "public"."xprop"
USING gist ("xstring_vector");

CREATE TRIGGER "tsvectorupdate00" BEFORE INSERT OR UPDATE
ON "public"."xprop" FOR EACH ROW
EXECUTE PROCEDURE "public"."tsearch2"(xstring_vector, xstring);

CREATE TRIGGER "tsvectorupdate01" BEFORE INSERT OR UPDATE
ON "public"."xprop" FOR EACH ROW
EXECUTE PROCEDURE "public"."tsearch2"(xpath_vector, xpath);

CREATE TRIGGER "tsvectorupdate02" BEFORE INSERT OR UPDATE
ON "public"."xprop" FOR EACH ROW
EXECUTE PROCEDURE "public"."tsearch2"(xaccess_vector, xaccess);
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / tsearch2 - как оптимизировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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