Thread: Re: Не используютя индекс

Re: Не используютя индекс

From
Oleg Bartunov
Date:
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

---559023410-1144747756-1115799083=:11640
Content-Type: TEXT/PLAIN; charset=koi8-r; format=flowed
Content-Transfer-Encoding: 8BIT

Денис,

ты должен сообщить информацию
   * версия PostgreSQL
   * делал ли ты 'vacuum analyze' после создания индексов
   * привести 'explain analyze select .....' и его выдачу

Тогда ты можешь рассчитывать, что кто-нибудь тебе поможет.

Олег
On Wed, 11 May 2005, Denis A. Egorov wrote:

> Доброго времени суток!
>
>
> Вот есть проблема, может быть кто сталкивался и решал...
>
> Есть база на mysql, я её прегнал в postgres(руками создал таблички, а
> данные прегнал с помощью самописного скрипта при помощи copy). Всё
> прошло успешно, все данные были прегнны в pg, но тут столкнулся с
> проблемкой...
>
> Есть одна большая таблица, порядка 3500000 записей, весит все это добро
> около 2,3Gb.
>
>
> В таблице есть поле:
>
> id       bigserial
>
> по полю создан индекс:
>
> CREATE UNIQUE INDEX test_id_index ON test (id).
>
> Но он не используется ни при каких запросах, всегда идёт полный скан
> таблицы.
>
> Уже просто замучался...
>
> Как "сказать" планировщику что индека нужно использовать?
>
>
>
> С уважением.
>

     Regards,
         Oleg
_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83
---559023410-1144747756-1115799083=:11640--

Re: Не исп

From
"Denis A. Egorov"
Date:
Здравствуйте, Oleg Bartunov!

Да, vacuum делал, и не раз, но что-то не помогает.

version
----------------------------------------------------------------------
PostgreSQL 7.4.7 on i386-portbld-freebsd4.11, compiled by GCC 2.95.4



explain ANALYZE SELECT id from test WHERE  id=123423 limit 1;
                                                         QUERY PLAN
    

----------------------------------------------------------------------------------------------------------------------------
Limit (cost=100000000.00..100280942.84 rows=1 width=8) (actual time=53298.684..53298.684 rows=0 loops=1)
  ->  Seq Scan on test (cost=100000000.00..100280942.84 rows=1 width=8) (actual time=53298.671..53298.671 rows=0
loops=1)
        Filter: (id = 123423)
Total runtime: 53298.741 ms



On Wed, May 11, 2005 at 12:11:23PM +0400, you wrote:

-> Денис,
->
-> ты должен сообщить информацию
->   * версия PostgreSQL
->   * делал ли ты 'vacuum analyze' после создания индексов
->   * привести 'explain analyze select .....' и его выдачу
->
-> Тогда ты можешь рассчитывать, что кто-нибудь тебе поможет.
->
-> Олег
-> On Wed, 11 May 2005, Denis A. Egorov wrote:
->
-> >Доброго времени суток!
-> >
-> >
-> >Вот есть проблема, может быть кто сталкивался и решал...
-> >
-> >Есть база на mysql, я её прегнал в postgres(руками создал таблички, а
-> >данные прегнал с помощью самописного скрипта при помощи copy). Всё
-> >прошло успешно, все данные были прегнны в pg, но тут столкнулся с
-> >проблемкой...
-> >
-> >Есть одна большая таблица, порядка 3500000 записей, весит все это добро
-> >около 2,3Gb.
-> >
-> >
-> >В таблице есть поле:
-> >
-> >id       bigserial
-> >
-> >по полю создан индекс:
-> >
-> >CREATE UNIQUE INDEX test_id_index ON test (id).
-> >
-> >Но он не используется ни при каких запросах, всегда идёт полный скан
-> >таблицы.
-> >
-> >Уже просто замучался...
-> >
-> >Как "сказать" планировщику что индека нужно использовать?
-> >
-> >
-> >
-> >С уважением.
-> >
->
->     Regards,
->         Oleg
-> _____________________________________________________________
-> Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
-> Sternberg Astronomical Institute, Moscow University (Russia)
-> Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
-> phone: +007(095)939-16-83, +007(095)939-23-83


--
Denis A. Egorov

Re: Не исп

From
Oleg Bartunov
Date:
This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

---559023410-1594243340-1115802954=:11640
Content-Type: TEXT/PLAIN; charset=koi8-r; format=flowed
Content-Transfer-Encoding: 8BIT

Обновись до 8.02 или  явно делай cast
explain ANALYZE SELECT id from test WHERE  id=123423::bigint limit 1;

Олег
On Wed, 11 May 2005, Denis A. Egorov wrote:

> Здравствуйте, Oleg Bartunov!
>
> Да, vacuum делал, и не раз, но что-то не помогает.
>
> version
> ----------------------------------------------------------------------
> PostgreSQL 7.4.7 on i386-portbld-freebsd4.11, compiled by GCC 2.95.4
>
>
>
> explain ANALYZE SELECT id from test WHERE  id=123423 limit 1;
>                                                         QUERY PLAN
>
----------------------------------------------------------------------------------------------------------------------------
> Limit (cost=100000000.00..100280942.84 rows=1 width=8) (actual time=53298.684..53298.684 rows=0 loops=1)
>  ->  Seq Scan on test (cost=100000000.00..100280942.84 rows=1 width=8) (actual time=53298.671..53298.671 rows=0
loops=1)
>        Filter: (id = 123423)
> Total runtime: 53298.741 ms
>
>
>
> On Wed, May 11, 2005 at 12:11:23PM +0400, you wrote:
>
> -> Денис,
> ->
> -> ты должен сообщить информацию
> ->   * версия PostgreSQL
> ->   * делал ли ты 'vacuum analyze' после создания индексов
> ->   * привести 'explain analyze select .....' и его выдачу
> ->
> -> Тогда ты можешь рассчитывать, что кто-нибудь тебе поможет.
> ->
> -> Олег
> -> On Wed, 11 May 2005, Denis A. Egorov wrote:
> ->
> -> >Доброго времени суток!
> -> >
> -> >
> -> >Вот есть проблема, может быть кто сталкивался и решал...
> -> >
> -> >Есть база на mysql, я её прегнал в postgres(руками создал таблички, а
> -> >данные прегнал с помощью самописного скрипта при помощи copy). Всё
> -> >прошло успешно, все данные были прегнны в pg, но тут столкнулся с
> -> >проблемкой...
> -> >
> -> >Есть одна большая таблица, порядка 3500000 записей, весит все это добро
> -> >около 2,3Gb.
> -> >
> -> >
> -> >В таблице есть поле:
> -> >
> -> >id       bigserial
> -> >
> -> >по полю создан индекс:
> -> >
> -> >CREATE UNIQUE INDEX test_id_index ON test (id).
> -> >
> -> >Но он не используется ни при каких запросах, всегда идёт полный скан
> -> >таблицы.
> -> >
> -> >Уже просто замучался...
> -> >
> -> >Как "сказать" планировщику что индека нужно использовать?
> -> >
> -> >
> -> >
> -> >С уважением.
> -> >
> ->
> ->     Regards,
> ->         Oleg
> -> _____________________________________________________________
> -> Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
> -> Sternberg Astronomical Institute, Moscow University (Russia)
> -> Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
> -> phone: +007(095)939-16-83, +007(095)939-23-83
>
>
>

     Regards,
         Oleg
_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83
---559023410-1594243340-1115802954=:11640--