Hi Les,

I have reviewed the whole thread, and I do not see usage of gist or gin
indexes. Have you tried using Gist or GIN indexes instead of a normal
b-tree?

B-trees are a good option when your search is simple(e.g. =, >, <). The
operators you are using are "like" or "^@", which fall into a full-text
search category; in such scenarios, b-tree may not be effective every time.
Hence, it may not deliver the result in the expected time-frame. I
recommend you to try creating a Gist or a GIN index here.


Regards,
Ninad


On Fri, Feb 4, 2022 at 6:52 PM Les <nagy...@gmail.com> wrote:

>
> >
>> > It does not help.
>>
>> What if you try applying the C collation to the values from the table:
>>
>> where fi.is_active  and fi.relpath collate "C" ^@ 'A'
>>
>
> Slow
>
> EXPLAIN (ANALYZE, COSTS, VERBOSE, BUFFERS)
> select fi.id from media.oo_file fi
> where fi.is_active  and fi.relpath collate "C" ^@ 'A' limit 1;
> QUERY PLAN
>                                                |
>
> --------------------------------------------------------------------------------------------------------------------------+
> Limit  (cost=0.00..1904.09 rows=1 width=8) (actual time=3837.338..3837.340
> rows=0 loops=1)                                |
>   Output: id
>                                                |
>   Buffers: shared hit=9355 read=121908
>                                                |
>   ->  Seq Scan on media.oo_file fi  (cost=0.00..144710.65 rows=76 width=8)
> (actual time=3837.336..3837.336 rows=0 loops=1)|
>         Output: id
>                                                |
>         Filter: (fi.is_active AND ((fi.relpath)::text ^@ 'A'::text))
>                                                |
>         Rows Removed by Filter: 1075812
>                                                 |
>         Buffers: shared hit=9355 read=121908
>                                                |
> Planning Time: 0.391 ms
>                                                 |
> Execution Time: 3837.364 ms
>                                                 |
>

Reply via email to