Scenario:
- I have a huge .csv file (million of lines) .
- With
sqlldr(SQL Loader) I have to create a temporary table with all the data in the CSV. - After this I have to do some processing on the temporary table (uppercase update some columns, etc.).
- After processing, I have to take every row from the temporary table, make some additional checks and insert those rows in another table (being heavily used in production) .
How do you suggest to make all this processing, so that I won’t affect the overall performance of the production environment ?
(NOTE: I am not supposed to pre-process the .csv before hand).
Any suggestion will be highly appreciated !
I know you’ve said you want to use SQL Loader, but you might want to look at using an external table as it might make things easier. You could declare your external table as something like
This would allow you to read (but not change) the data in your file using standard SELECT statements. You could then SELECT from the external table and INSERT the data into your ‘temp’ table directly, doing at least some of the editing during the INSERT:
Share and enjoy.