what is global temporary tables and how use that tables in
pl/sql packages
Answer Posted / sreemanth reddy
hi
You can not specify a tablespace with global temporary
tables. GTT's are built in the TEMP tablespace.
Global temporary tables have three major benefits:
1. Non-interference between private sets of data.
2. Ease of getting rid of 'scratch' data. In a heap table
you either rollback, or delete it. But in a GTT, you can
truncate explicitly, without affecting anyone else (or allow
the implicit "truncate on commit / exit" effect to do
the same thing).
3. Decreased redo generation as, by definition, they are
non-logging.
However:
Mixing temporary tables (GTTs) with permanent tables usually
causes some grief to the CBO. It has no information
about the number of rows in the GTT, and therefore guesses
(badly).
Even if you analyze table .. or
dbms_stats.gather_table_stats() you don't get stats on the
temporary table.
Set the init parameter dynamic_sampling to at least 2 for
GTTs to be sampled at run-time.
Note: All DDL includes two implicit commits so any rows in a
GTT specified with ON COMMIT DELETE ROWS will empty the
table.
| Is This Answer Correct ? | 0 Yes | 5 No |
Post New Answer View All Answers
What are sql indexes?
Are left and right joins the same?
what is row? : Sql dba
Is not equal in sql?
What are sql triggers used for?
What is orm in sql?
what is a control file ? : Sql dba
What is group function in sql?
What is sqlerrd?
Explain the purpose of %type and %rowtype data types with the example?
What do you mean by dbms? What are its different types?
What do you mean by field in sql?
Define select, insert, create, delete, update, drop keywords
What is meant by user defined function?
What is an oracle stored procedure?