I ter sido executado um UPDATE em uma tabela contendo 250 milhões de linhas com índice de 3 '; Essa atualização usa outra tabela contendo 30 milhões de linhas. Ele foi executado por cerca de 36 horas agora. Eu estou querendo saber se a sua é uma maneira de descobrir o quão próximo está a ser feito para se pretende levar um milhão de dias para fazer a sua coisa, eu vou matá-lo; No entanto, se ele só precisa de mais um dia ou dois, eu vou deixá-lo correr. Aqui está o comando query:
UPDATE pagelinks SET pl_to = page_id
FROM page
WHERE
(pl_namespace, pl_title) = (page_namespace, page_title)
AND
page_is_redirect = 0
;
A EXPLICAR não é a questão aqui e só eu mencionar que têm vários índices grande da tabela do para justificar um tanto quanto tempo leva para atualizá-lo. Mas aqui é o EXPLICAR de qualquer maneira:
Merge Join (cost=127710692.21..135714045.43 rows=452882848 width=57)
Merge Cond: ((outer.page_namespace = inner.pl_namespace) AND (outer.?column4? = inner.?column5?))
-> Sort (cost=3193335.39..3219544.38 rows=10483593 width=41)
Sort Key: page.page_namespace, (page.page_title)::text
-> Seq Scan on page (cost=0.00..439678.01 rows=10483593 width=41)
Filter: (page_is_redirect = 0::numeric)
-> Sort (cost=124517356.82..125285665.74 rows=307323566 width=46)
Sort Key: pagelinks.pl_namespace, (pagelinks.pl_title)::text
-> Seq Scan on pagelinks (cost=0.00..6169460.66 rows=307323566 width=46)
Agora eu também enviou uma consulta de comando paralelo, a fim de queda em um dos pagelinks índices; é claro que está à espera para a atualização ao fim (mas eu senti como tentar de qualquer maneira!). Daí, eu não pode selecionar qualquer coisa de pagelinks por medo de danificar os dados (a menos que você acha que seria seguro para matar o processo postmaster DROP INDEX?).
Então, eu estou querendo saber se a sua é uma tabela que iria manter o controle da quantidade de tuplas mortas ou algo para Seria bom saber o quão rápido ou quão longe o UPDATE está na conclusão de sua tarefa.
Thx (PostgreSQL não é tão inteligente quanto eu pensava, mas precisa de heurística)













