Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> Opinions of high-volume DDL and data population

Opinions of high-volume DDL and data population

From: Mark Richard <>
Date: Sun, 15 Jun 2003 22:43:40 -0700
Message-ID: <>

Hi List,

I have been asked to add a column to a table and populate it's contents. Conceptually this is very easy but I'm concerned from a performance point of view. Let me explain:

I'm currently thinking of doing the following:

1)  Adding column as a nullable column to existing table
2)  Creating a table which has a unique list of "students"
3)  Process perhaps 1000-10000 students at a time to populate the new field
(keeping rollback at around 1 million records per iteration). There is a concatenated index on "student" and "date" which I am hoping to (ab)use although I can't think of an easy way to do the update without selecting to a temporary table.
4) Modify the column to not-null status

I'm really looking for advice on whether this approach will work, and if not what alternative approaches might work. Since the update seems tricky I'm thinking that renaming the existing table and creating a new table using select might be an easier approach. Diskspace for a copy of the table shouldn't be an issue at all and I figure this might effectively provide a rebuild of the table and it's indexes, which probably isn't a bad thing. Also, I have a sneaking suspician that adding the not null clause requires a full table scan to validate the data - is this true? A full table scan of this table takes around 30-45 minutes (although I will has exclusive access to the server during this change and could probably go for a parallel scan to save a few minutes).

All help is appreciated.




   Privileged/Confidential information may be contained in this message.

          If you are not the addressee indicated in this message
       (or responsible for delivery of the message to such person),
            you may not copy or deliver this message to anyone.
In such case, you should destroy this message and kindly notify the sender
           by reply e-mail or by telephone on (61 3) 9612-6999.
   Please advise immediately if you or your employer does not consent to
                Internet e-mail for messages of this kind.
        Opinions, conclusions and other information in this message
              that do not relate to the official business of
                         Transurban City Link Ltd
         shall be understood as neither given nor endorsed by it.

Please see the official ORACLE-L FAQ:
Author: Mark Richard

Fat City Network Services    -- 858-538-5051
San Diego, California        -- Mailing list and web hosting services
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
Received on Mon Jun 16 2003 - 00:43:40 CDT

Original text of this message