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 по дате отправления:

Предыдущее
От: "Michael Paesold"
Дата:
Сообщение: Re: Spinlocks, yet again: analysis and proposed patches
Следующее
От: "Lee, Patricia S."
Дата:
Сообщение: Autoconf