Re: counting disk access from index seek operation -- how to?
От | Qingqing Zhou |
---|---|
Тема | Re: counting disk access from index seek operation -- how to? |
Дата | |
Msg-id | dg4r73$eti$1@news.hub.org обсуждение исходный текст |
Ответ на | counting disk access from index seek operation -- how to? (huaxin zhang <uwcssa@gmail.com>) |
Список | pgsql-hackers |
"huaxin zhang" <uwcssa@gmail.com> wrote >I need a way to tell how many pages loaded from disk for a particular > index seek operation. By pages loaded, you mean physically or logically? In either ways, I would suggest you to take a look at _bt_getbuf(). > > What I did is to set a global flag to true before calling the > following statement > (inside index_getnext() in "/backend/access/indexam.c") > This is not the right place. index_getnext() returns when it find a satisifed tuple or no match at all. Thus it may access many pages, from the root of btree down to some leaf node. > also, the number of paged IOs for a given index seek is always less > than the total > page loads. Is it because of the statement (following the above in > "/backend/access/indexam.c")? > > "if (heap_release_fetch(scan->heapRelation, scan->xs_snapshot, > heapTuple, &scan->xs_cbuf, true, > &scan->xs_pgstat_info))" > This functions checks if the real data on the heap matches the information indicated by the index, since we just save a key and pointer to the real data on index. Thus, extra IOs may needed. Regards, Qingqing
В списке pgsql-hackers по дате отправления: