Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Индекс не работает / 2 сообщений из 2, страница 1 из 1
30.08.2006, 15:59
    #33952945
Ertong
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Индекс не работает
Таблица
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
CREATE TABLE album_photos
(
  photo_id int4 NOT NULL,
  participate_top bool DEFAULT true,
  views int4,
  sex int4 DEFAULT  0 ,
  ...
  CONSTRAINT album_photos_pkey PRIMARY KEY (photo_id)
) WITHOUT OIDS;

Индекс
Код: plaintext
1.
2.
3.
4.
CREATE INDEX idx_top_views
  ON album_photos
  USING btree
  (views, sex) WHERE participate_top;

Запрос
Код: plaintext
1.
2.
3.
4.
5.
select photo_id from album_photos
where 
	participate_top and sex= 1 
order by views DESC
LIMIT  1 

Explain запроса
Код: plaintext
1.
2.
3.
4.
5.
Limit  (cost= 1 . 47 .. 1 . 48  rows= 1  width= 8 )
  ->  Sort  (cost= 1 . 47 .. 1 . 48  rows= 1  width= 8 )
        Sort Key: views
        ->  Seq Scan on album_photos  (cost= 0 . 00 .. 1 . 46  rows= 1  width= 8 )
              Filter: (participate_top AND (sex =  1 ))

Почему PostgreSQL делает Seq Scan, а потом Sort вместо скана по индексу?
...
Рейтинг: 0 / 0
30.08.2006, 16:21
    #33953093
Shweik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Индекс не работает
Поищи по форуму.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Индекс не работает / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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