Re: [PERFORMANCE] slow small delete on large table
От | Christopher Browne |
---|---|
Тема | Re: [PERFORMANCE] slow small delete on large table |
Дата | |
Msg-id | m3r7wk5m15.fsf@wolfe.cbbrowne.com обсуждение исходный текст |
Ответ на | [PERFORMANCE] slow small delete on large table ("Ed L." <pgsql@bluepolka.net>) |
Список | pgsql-performance |
After a long battle with technology, pgsql@bluepolka.net ("Ed L."), an earthling, wrote: > On Monday February 23 2004 10:23, Tom Lane wrote: >> "Ed L." <pgsql@bluepolka.net> writes: >> Depending on the size of mytable, you might need an "ANALYZE doomed" >> in there, but I'm suspecting not. A quick experiment suggests that >> you'll get a plan with an inner indexscan on mytable.key, which is >> exactly what you need. > > I didn't mention I'd written a trigger to do delete N rows on each new > insert (with a delay governor preventing deletion avalanches). The > approach looks a little heavy to be done from within a trigger with the > response time I need, but I'll try it. Cantchajust toss in that "limit N" > functionality to delete clauses? How hard could that be? ;) It's nonstandard, which will get you a certain amount of opposition "for free;" the problem with nonstandard behaviour is that sometimes the implications haven't been thought out... >> See also Chris Browne's excellent suggestions nearby, if you are willing >> to make larger readjustments in your thinking... > > I did a search for articles by Chris Browne, didn't see one that > appeared relevant. What is the thread subject to which you refer? It's in the same thread. I suggested having a daemon running a cursor (amounting to a slightly more expensive version of Tom's "doomed temp table" approach), or using "rotor" tables where you could TRUNCATE a table every few days which would be _really_ cheap... -- output = ("cbbrowne" "@" "cbbrowne.com") http://cbbrowne.com/info/emacs.html Expect the unexpected. -- The Hitchhiker's Guide to the Galaxy, page 7023
В списке pgsql-performance по дате отправления: