On Wed, May 11, 2005 at 11:09:30AM +0300, Denis A. Egorov wrote:
> Вот есть проблема, может быть кто сталкивался и решал...
>
> Есть база на mysql, я её прегнал в postgres(руками создал таблички, а
> данные прегнал с помощью самописного скрипта при помощи copy). Всё
> прошло успешно, все данные были прегнны в pg, но тут столкнулся с
> проблемкой...
>
> Есть одна большая таблица, порядка 3500000 записей, весит все это добро
> около 2,3Gb.
>
>
> В таблице есть поле:
>
> id bigserial
>
> по полю создан индекс:
>
> CREATE UNIQUE INDEX test_id_index ON test (id).
>
> Но он не используется ни при каких запросах, всегда идёт полный скан
> таблицы.
Приведи пример запроса. Насколько я помню, с bigint у постгреса
небольшая засада - в запросе параметр должен быть явно приведён к
bigint, например:
SELECT * FROM test WHERE id = 12; -- индекс не будет использоваться
SELECT * FROM test WHERE id = 12::bigint; -- должно быть OK
Докопаться до причин можно порывшись в архивах :)
--
Fduch M. Pravking