From: | Les <nagylzs(at)gmail(dot)com> |
---|---|
To: | Nick Cleaton <nick(at)cleaton(dot)net> |
Cc: | pgsql-performance(at)lists(dot)postgresql(dot)org |
Subject: | Re: Terribly slow query with very good plan? |
Date: | 2022-02-04 14:43:55 |
Message-ID: | CAKXe9UDkX0ff-a_qW87UEbsZLKbULcsfj9R_EMBtr+hcGhEZtQ@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
>
> That may be because it's expecting to get 88290 rows from the
> sequential scan, and the"limit 1" means it expects sequential scan to
> be fast because on average it will only need to scan 1/88290 of the
> table before it finds a matching row, then it can stop.
>
We are looking for a single row. With an index scan, it is always much
faster to find a single row. No seq scan can be faster "on average", when
you are looking for a single row. Am I wrong?
> Try it without the "limit 1"
Without the limit it uses bitmap heap scan. Unbelievable!
EXPLAIN (ANALYZE, COSTS, VERBOSE, BUFFERS)
select fi.id from media.oo_file fi
where fi.is_active
and fi.relpath between
('Természettudomány' collate "C")
and ('Természettudomány'||chr(255) collate "C");
QUERY PLAN
|
--------------------------------------------------------------------------------------------------------------------------------------+
Bitmap Heap Scan on media.oo_file fi (cost=10480.10..140065.96 rows=70010
width=8) (actual time=9757.917..9757.920 rows=0 loops=1) |
Output: id
|
Recheck Cond: ((fi.relpath >= 'Természettudomány'::text COLLATE "C") AND
(fi.relpath <= 'Természettudomány '::text COLLATE "C")) |
Filter: fi.is_active
|
Rows Removed by Filter: 85207
|
Heap Blocks: exact=24954
|
Buffers: shared hit=197 read=26531
|
-> Bitmap Index Scan on test (cost=0.00..10462.59 rows=99404 width=0)
(actual time=425.571..425.572 rows=85207 loops=1) |
Index Cond: ((fi.relpath >= 'Természettudomány'::text COLLATE "C")
AND (fi.relpath <= 'Természettudomány '::text COLLATE "C"))|
Buffers: shared hit=6 read=1768
|
Planning Time: 1.145 ms
|
JIT:
|
Functions: 6
|
Options: Inlining false, Optimization false, Expressions true, Deforming
true |
Timing: Generation 2.295 ms, Inlining 0.000 ms, Optimization 1.142 ms,
Emission 11.632 ms, Total 15.070 ms |
Execution Time: 9760.361 ms
|
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Vijaykumar Jain | 2022-02-05 21:25:02 | Re: Terribly slow query with very good plan? |
Previous Message | Thomas Kellerer | 2022-02-04 14:42:37 | Re: Terribly slow query with very good plan? |