To take backup of a big table (using SELECT .. INTO ..
) took me almost 4 hours in a machine with 4 CPUs and 16 GB of RAM. No external application/process were accessing the table during the operation.
The table size was 220 GB and the SELECT .. INTO
was a simple one (i.e. SELECT * INTO BACKUP_TABLE FROM ORIGINAL_TABLE
)
This was a test environment and based on that, I need to work out an estimation of the execution time for the same operation in the production environment. The production environment has 40 CPUs and 64 of RAM.
CPUs are identical and I/O systems for both systems are the same. (i.e. disk type and disk layouts are the same).
Is it realistic to estimate the production's SELECT .. INTO .. will be complete in less than an hour, considering the production server has 10 times more processing power?
If not possible to answer this question based on the above, shall I re-run the test and collect some metrics? If yes, what those metrics should be?
Thanks in advance, for providing your thoughts on this!
SELECT ... INTO...
(simple/complex? how many GB?) with noEXPLAIN PLAN
, the best guess is that your task is I/O limited and that the extra CPU and RAM might make a small difference, but not huge. The more of these metrics you give us, the better educated a guess we can provide!SELECT <all of an 220 GB table> INTO <a new table>;
...