Page is a not externally linkable
- Code, Content, and Presentation
-- Databases
---- Can someone help me understand this please?


LifeinAsia - 6:20 pm on Jan 9, 2013 (gmt 0)


would it be better to remove the temporary table and update the actual table real-time?

No. If you do this and your connection breaks, you could be left with an empty mytable until you reconnect and complete the update.

which can take 3 hours

Which part is taking the longest? Just how much data are you updating?

I have tackled this issue in 2 different ways, depending on the situation:
A) Rename mytable to mytable_old and mytable_temp to mytable

B) Instead of deleting all the data from mytable and copying from mytable_temp, do it in chunks. (This works only if there is a close relationship between the new/old data.) In other words, let's say there is a ProductID field:
DELETE mytable
WHERE ProductID BETWEEN 1 AND 10000

INSERT mytable
SELECT *
FROM mytable_temp
WHERE ProductID BETWEEN 1 AND 10000


Thread source:: http://www.webmasterworld.com/databases_sql_mysql/4534602.htm
Brought to you by WebmasterWorld: http://www.webmasterworld.com