Reader small image

You're reading from  Oracle Database 11gR2 Performance Tuning Cookbook

Product typeBook
Published inJan 2012
Reading LevelIntermediate
PublisherPackt
ISBN-139781849682602
Edition1st Edition
Languages
Right arrow
Author (1)
Ciro Fiorillo
Ciro Fiorillo
author image
Ciro Fiorillo

Ciro Fiorillo is an IT professional and consultant with experience of more than a decade in different roles (developer, analyst, DBA, project manager, data and software architect) among software industries. He has worked on different technologies and architectures, such as Oracle, SQL Server, Delphi, C# and .NET Framework, C/C++, Java, PHP, COBOL, Fortran, and Tibco. Ciro is currently employed as Lead Software and Data Architect with FinWin Srl, a software house specializing in banking and loans applications. As a freelancer he writes articles for websites and printed magazines about software and computing, participates in workshops, and teaches C++ and Fortran parallel programming with Intel Software tools. Ciro can be reached at ciro@cirofiorillo.com.
Read more about Ciro Fiorillo

Right arrow

Using create table as select


In this recipe we will see how to create a table as the result of a selection from other tables or views in the database.

How to do it...

The following steps demonstrate how to use use selection to create a table:

  1. Connect to the SH schema:

    CONNECT sh@TESTDB/sh
    
  2. Create the empty table MY_SALES, and copy the SALES table structure:

    CREATE TABLE MY_SALES AS SELECT * FROM SALES WHERE ROWNUM < 1;
    
  3. Insert all the rows from the SALES table into MY_SALES using direct path inserting :

    SET TIMING ON
    INSERT /*+ APPEND */ INTO MY_SALES SELECT * FROM SALES;
    SET TIMING OFF
    
  4. Drop the MY_SALES table:

    DROP TABLE MY_SALES;
    
  5. Create table MY_SALES as a selection from SALES table:

    SET TIMING ON
    CREATE TABLE MY_SALES AS SELECT * FROM SALES;
    SET TIMING OFF
    
  6. Inspect the execution plan for the INSERT statement in step 3:

    EXPLAIN PLAN FOR
     INSERT /*+ APPEND */ INTO MY_SALES
     SELECT * FROM SALES;
    SELECT * FROM TABLE(
     DBMS_XPLAN.DISPLAY(null,null,'TYPICAL -BYTES'));
    
  7. Drop the MY_SALES table:

    ...
lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Oracle Database 11gR2 Performance Tuning Cookbook
Published in: Jan 2012Publisher: PacktISBN-13: 9781849682602

Author (1)

author image
Ciro Fiorillo

Ciro Fiorillo is an IT professional and consultant with experience of more than a decade in different roles (developer, analyst, DBA, project manager, data and software architect) among software industries. He has worked on different technologies and architectures, such as Oracle, SQL Server, Delphi, C# and .NET Framework, C/C++, Java, PHP, COBOL, Fortran, and Tibco. Ciro is currently employed as Lead Software and Data Architect with FinWin Srl, a software house specializing in banking and loans applications. As a freelancer he writes articles for websites and printed magazines about software and computing, participates in workshops, and teaches C++ and Fortran parallel programming with Intel Software tools. Ciro can be reached at ciro@cirofiorillo.com.
Read more about Ciro Fiorillo