Re: Query taking seq scan on a table

Поиск
Список
Период
Сортировка
От Shrikant Bhende
Тема Re: Query taking seq scan on a table
Дата
Msg-id CAMTQpJBDa2gJDhZpPwGc9bsuxJF8+435U6z4yfvMZGvu=LF8CA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Query taking seq scan on a table  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-admin
Hello, 

It worked fine for me.
Thanks for the correction and all the help!



On Tue, Sep 22, 2020 at 7:37 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
Shrikant Bhende <shrikantpostgresql@gmail.com> writes:
> *create index concurrently lname_test_btree_txt_pat_ops on wldbowner.member
> (lname text_pattern_ops) where fname like LOWER(unaccent_string(lname) ||
> '%')*
> Is this the correct way to create a b-tree index with text_pattern_ops for
> my requirement ?

No.  What you're trying to optimize is

                            Filter: ((lower(unaccent_string((lname)::text))
~~ 'info%'::text) AND (lower(unaccent_string((fname)::text)) ~~
'travel%'::text))

so you need one or both of

create index on member (lower(unaccent_string(lname)) text_pattern_ops);
create index on member (lower(unaccent_string(fname)) text_pattern_ops);

If one of those two conditions is reliably more selective than the
other, perhaps just one index would do.

                        regards, tom lane

В списке pgsql-admin по дате отправления:

Предыдущее
От: MUKESH PRASAD
Дата:
Сообщение: Re: The default database account can be accessed without a password
Следующее
От: "JOIGNY Michael @Neteven"
Дата:
Сообщение: Re: Cannot allocate memory