Re: [PERFORM] Idea how to get rid of Bitmap Heap Scan

2009-12-20 Thread Robert Haas
On Sun, Dec 20, 2009 at 11:26 AM, Tom Lane wrote: > Greg Stark writes: >> In the original poster's plan that isn't an issue. We could scan the >> index, perform the joins and restriction clauses, and only check the >> visibility on the resulting tuples which slip through them all. That >> would b

Re: [PERFORM] Idea how to get rid of Bitmap Heap Scan

2009-12-20 Thread Tom Lane
Greg Stark writes: > In the original poster's plan that isn't an issue. We could scan the > index, perform the joins and restriction clauses, and only check the > visibility on the resulting tuples which slip through them all. That > would be possible even without crash-safe visibility bits. Yeah

Re: [PERFORM] Idea how to get rid of Bitmap Heap Scan

2009-12-20 Thread Greg Stark
On Sun, Dec 20, 2009 at 2:11 AM, Robert Haas wrote: > On Fri, Dec 18, 2009 at 12:29 PM, Greg Stark wrote: >> A word of warning, in my experience the hardest part for changes like >> this isn't the executor changes (which in this case wouldn't be far >> from easy) but the planner changes to detect

Re: [PERFORM] Idea how to get rid of Bitmap Heap Scan

2009-12-19 Thread Robert Haas
On Fri, Dec 18, 2009 at 12:29 PM, Greg Stark wrote: > A word of warning, in my experience the hardest part for changes like > this isn't the executor changes (which in this case wouldn't be far > from easy) but the planner changes to detect when this new plan would > be better. There's also the p

Re: [PERFORM] Idea how to get rid of Bitmap Heap Scan

2009-12-18 Thread Greg Stark
On Fri, Dec 18, 2009 at 4:18 PM, Michael N. Mikhulya wrote: > Thank you very much. I catch the point why it is done so. > > But I'm curious whether it is still possible to don't fetch data from > files table just because inappropriate ids (e.g. removed ones) will > not produce any wrong effect jus

Re: [PERFORM] Idea how to get rid of Bitmap Heap Scan

2009-12-18 Thread Michael N. Mikhulya
Thank you very much. I catch the point why it is done so. But I'm curious whether it is still possible to don't fetch data from files table just because inappropriate ids (e.g. removed ones) will not produce any wrong effect just because them indirectly "checked" on downloads table? Here I mean th

Re: [PERFORM] Idea how to get rid of Bitmap Heap Scan

2009-12-18 Thread Matthew Wakeling
On Fri, 18 Dec 2009, Michael N. Mikhulya wrote: The problem here is that we are forced to fetch "files" in Bitmap Heap Scan. But actually there is no need for the whole "files" record. The necessary data is only "files" ids. The idea is to avoid fetching data from "files" table, and get the ids

[PERFORM] Idea how to get rid of Bitmap Heap Scan

2009-12-18 Thread Michael N. Mikhulya
Hello! There are many questions on internet about whether it is possible to optimize "Bitmap Heap Scan" somehow without answer, so seems like problem is rather important. The query I need to optimize is: EXPLAIN SELECT date_trunc('day', d.created_at) AS day, COUNT(*) AS download FROM downloads d