Re: Чистка таблиц

From: eshkinkot(at)gmail(dot)com ( Сергей Бурладя =?utf-8?B?0L0=?=)
To: "Dmitry E(dot) Oboukhov" <unera(at)debian(dot)org>
Cc: pgsql-ru-general(at)postgresql(dot)org
Subject: Re: Чистка таблиц
Date: 2012-01-07 20:53:41
Message-ID: 87obuf2q0a.fsf@home.progtech.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-ru-general

"Dmitry E. Oboukhov" <unera(at)debian(dot)org> writes:

> Имеются таблицы
>
> |t1_id|...|
> |t2_id|t1_id|...|
> |t3_id|...|
> |t4_id|t1_id|t3_id|...|
>
> То есть таблички с форейгнами.
>
> Объявлены столбики связей так:
>
> t1_id INTEGE REFERENCES t1 (t1_id) ON DELETE CASCADE ON UPDATE
> CASCADE;

foreign key не создают индексы, у Вас созданы на каждой таблице индексы по foreign key?

> План показывает примерно такой:
>
> QUERY PLAN
> ----------------------------------------------------------------------------------------
> Delete on t1 (cost=0.00..8.59 rows=1 width=6)
> -> Index Scan using t1_pkey on t1 (cost=0.00..8.59 rows=1 width=6)
> Index Cond: (id = 2919364)
> (3 rows)

А какая версия сервера? Здесь скорее всего не показываются вызовы служебных триггеров foreign key
в которых возможно при отсутствии индексов по t1_id проверка и обновление внешних ключей идёт
по seq scan.

--
С уважением, Сергей Бурладян

In response to

Browse pgsql-ru-general by date

  From Date Subject
Next Message Сергей Бурладя =?utf-8?B?0L0=?= 2012-01-07 21:07:52 Re: Таблицы с взаимными связями
Previous Message Anton Krasikov 2012-01-07 11:36:12 Re: [pgsql-ru-general] Re: [pgsql-ru-general] Re: [pgsql-ru-general] Re: [pgsql-ru-general] Чистка таблиц