Nikolay Ponomarenko пишет:

> MERGE INTO big_table t
>       USING
>       (
>         SELECT
>           ID,
>           RDB$DB_KEY AS MAIN_DB_KEY
>         FROM big_table t
>       ) RD
>       ON (t.RDB$DB_KEY = RD.MAIN_DB_KEY)
> --      ON (t.ID = RD.ID)
>       WHEN MATCHED THEN
>         UPDATE SET t.VAL = 0;

Насколько я понимаю, MERGE тут непричем. Сервер не умеет использовать DBKEY при джойнах.

select * from big_table t, big_table rd
where t.RDB$DB_KEY = RD.RDB$DB_KEY

те же чтения натуралом вместо индексного поиска. Отсюда и тормоза с ростом числа записей.

Что-то похожее в трекере я припоминаю, но сходу тоже найти не смог.


Дмитрий

Ответить