Быстрый поиск по строкам в PostgreSQL - PullRequest
0 голосов
/ 26 января 2011

Какой самый быстрый способ поиска в строке в PostgreSQL (без учета регистра):

SELECT col FROM table WHERE another_col ILIKE '%typed%'

или

SELECT col FROM table WHERE another_col ~* 'typed'

Как включить показ времени, когда запрос долженвернуть результаты?Нечто подобное по умолчанию в mySQL (я думаю о клиенте CLI).

Ответы [ 2 ]

1 голос
/ 26 января 2011

Относительно времени:

Одним из решений является использование переключателя для psql, который уже упоминал Фрэнк.

Когда вы используете EXPLAIN ANALZYE , оно также включает в себя общеевремя выполнения запроса на сервере .

Я предпочитаю это при сравнении времени выполнения для разных версий запроса, поскольку он удаляет сеть из уравнения.

1 голос
/ 26 января 2011

Оба запроса одинаковы, PostgreSQL переписывает ILIKE в ~*. Проверьте результаты из EXPLAIN, чтобы увидеть это поведение.

Я не уверен в вашем вопросе, но psql-клиент может показать вам время запроса, используя \timing.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...