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. > > > 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? > > > > 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 ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster