Re: count(*) optimization
От | Chris Browne |
---|---|
Тема | Re: count(*) optimization |
Дата | |
Msg-id | 60vf1dlxm5.fsf@dba2.int.libertyrms.com обсуждение исходный текст |
Ответ на | Simple tester for MVCC in PostgreSQL (Martijn van Oosterhout <kleptog@svana.org>) |
Список | pgsql-hackers |
uwcssa@gmail.com (huaxin zhang) writes: > not sure where to put this. > > I run two queries: > > 1. select count(*) from table where indexed_column<10; > 2. select * from table where indexed_column<10; > > the indexed column is not clustered at all. I saw from the trace > that both query runs through index scans on that index and takes the > same amount of buffer hits and disk read. > However, shouldn't the optimizer notice that the first query only > needs to look at the indexes and possibly reduce the amount of > buffer/disk visits? No, it shouldn't, because that is NOT TRUE. Indexes do not have MVCC visibility information stored in them, so that a query cannot depend on the index to imply whether a particular tuple is visible or not. It must read the tuple itself as well. -- output = ("cbbrowne" "@" "acm.org") http://www.ntlug.org/~cbbrowne/linuxdistributions.html "I promise you a police car on every sidewalk." -- M. Barry Mayor of Washington, DC
В списке pgsql-hackers по дате отправления: