Re: CPU-intensive autovacuuming

Поиск
Список
Период
Сортировка
От Phil Endecott
Тема Re: CPU-intensive autovacuuming
Дата
Msg-id 42A468C6.6040603@chezphil.org
обсуждение исходный текст
Ответ на CPU-intensive autovacuuming  (Phil Endecott <spam_from_postgresql_general@chezphil.org>)
Ответы Re: CPU-intensive autovacuuming
Список pgsql-general
Following up on my own post from last night:

 > Could it be that there is some code in autovacuum that is O(n^2) in
 > the number of tables?

Browsing the code using webcvs, I have found this:

for (j = 0; j < PQntuples(res); j++)
{
    tbl_elem = DLGetHead(dbs->table_list);
    while (tbl_elem != NULL)
    {

I haven't really tried to understand what is going on in here, but it
does look like it is getting the result of the "pg_class join stats"
query and then matching it up against its internal list of tables using
nested loops, which is undoubtedly O(n^2) in the number of tables.

Have I correctly understood what is going on here?

--Phil.


В списке pgsql-general по дате отправления:

Предыдущее
От: "Franco Bruno Borghesi"
Дата:
Сообщение: Re: return two elements
Следующее
От: Ying Lu
Дата:
Сообщение: which commands under PostgreSQL do the similar func provided by "show processlist" under mysql