powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / LIKE и Индексы
3 сообщений из 3, страница 1 из 1
LIKE и Индексы
    #35142168
Фотография ss25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
acad3=# EXPLAIN SELECT  book_id FROM mod_lib_book_foreword_index WHERE book_foreword LIKE 'прав%';
                                  QUERY PLAN
------------------------------------------------------------------------------
 Seq Scan on mod_lib_book_foreword_index  (cost= 0 . 00 .. 3012 . 99  rows= 1  width= 8 )
   Filter: ((book_foreword)::text ~~ 'прав%'::text)
( 2  rows)

Time:  15 . 000  ms
acad3=# EXPLAIN SELECT  book_id FROM mod_lib_book_foreword_index WHERE book_foreword = 'прав';
                                     QUERY PLAN
-------------------------------------------------------------------------------------
 Bitmap Heap Scan on mod_lib_book_foreword_index  (cost= 4 . 41 .. 63 . 01  rows= 16  width= 8 )
   Recheck Cond: ((book_foreword)::text = 'прав'::text)
   ->  Bitmap Index Scan on idx_book_foreword  (cost= 0 . 00 .. 4 . 41  rows= 16  width= 0 )
         Index Cond: ((book_foreword)::text = 'прав'::text)
( 4  rows)

Time:  0 . 000  ms

Версия PG 8.2.4 не пойму почему не используется индекс в первом запросе.
В таблице более 140К записей.
...
Рейтинг: 0 / 0
LIKE и Индексы
    #35142458
Angel13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй
Код: plaintext
create index idx_book_foreword on mod_lib_book_foreword_index (book_foreword varchar_pattern_ops);
...
Рейтинг: 0 / 0
LIKE и Индексы
    #35144546
Фотография ss25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
помогло. спасибо.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
acad3=# EXPLAIN SELECT  book_id FROM mod_lib_book_foreword_index WHERE book_foreword LIKE 'прав%';
                                                            QUERY PLAN
----------------------------------------------------------------------------------------------------------------------------------
 Index Scan using idx_book_foreword on mod_lib_book_foreword_index  (cost= 0 . 00 .. 8 . 29  rows= 1  width= 8 )
   Index Cond: (((book_foreword)::text ~>=~ 'прав'::character varying) AND ((book_foreword)::text ~<~ 'праг'::character varying))
   Filter: ((book_foreword)::text ~~ 'прав%'::text)
( 3  rows)

Time:  0 . 000  ms
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / LIKE и Индексы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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