Re: SQL Diff ?
От | Kevin Kempter |
---|---|
Тема | Re: SQL Diff ? |
Дата | |
Msg-id | 200708260945.02351.kevin@kevinkempterllc.com обсуждение исходный текст |
Ответ на | Re: SQL Diff ? (Ron Johnson <ron.l.johnson@cox.net>) |
Список | pgsql-general |
On Saturday 25 August 2007 23:49:39 Ron Johnson wrote: > On 08/25/07 22:21, Kevin Kempter wrote: > > On Saturday 25 August 2007 21:10:19 Ron Johnson wrote: > >> On 08/25/07 21:51, Kevin Kempter wrote: > >>> Hi List; > >>> > >>> I have a very large table (52million rows) - I'm creating a copy of it > >>> to rid it of 35G worth of dead space, then I'll do a sync, drop the > >>> original table and rename table2. > >> > >> What is your definition of "dead space"? > >> > >> Bad rows, duplicate rows, old rows? Something else? > > > > deleted rows that should have been cleaned up with vacuum, problem is the > > client let it go so long that now I cant get a vacuum to finish cause it > > impacts the day2day operations too much. Long story, see my recent > > questions on the performance list for more info. > > OK. > > >>> Once I have the table2 as a copy of table1 what's the best way to > >>> select all rows that have been changed, modified in table1 since the > >>> initial laod from table1 into table2? > > Is this a 24x7 database? Yes. with little room for extra overhead > > >>> Also I'll need to delete any rows in table2 that no longer remain in > >>> table1. > >>> > >>> There is no change date column > >>> I could do something like select * from table1 where col1 || col2 || > >>> col3 etc not in (select col1 || col2 || col3 etc from table2) > >>> > >>> but this would be ineffecient & slow. > >>> > >>> Anyone have a suggestion to do this in an efficient manner? > >>> > >>> Thanks in advance
В списке pgsql-general по дате отправления: