Differences between a transaction-based temporary Oracle table under 11 GB and 12C

Source: Internet
Author: User

Differences between a transaction-based temporary Oracle table under 11 GB and 12C
The transaction-based temporary tables in Oracle differ from those in 11g and 12C. After collecting statistics on the temporary tables, the former records are cleared, and the latter does not, this is an important difference. 12C is used in the company environment, and 11 GB is used at the site. Using temporary tables will slow down time and time. I have posted. The solution is to create a temporary table based on the session and truncate the table after each use. Otherwise, a problem may occur.

SQL> select * from v $ version;

BANNER CON_ID
------------------------------------------------------------------------------------------
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0-64bit Production 0
PL/SQL Release 12.1.0.1.0-Production 0
CORE 12.1.0.1.0 Production 0
TNS for Linux: Version 12.1.0.1.0-Production 0
NLSRTL Version 12.1.0.1.0-Production 0
SQL> drop table test purge;
-- Transaction-based temporary table
SQL> create global temporary table test
(
ID number
)
On commit delete rows;
SQL> insert into test select object_id from dba_objects;
99412 rows inserted
SQL> select count (1) from test;
COUNT (1)
----------
99412
SQL> exec dbms_stats.gather_table_stats (user, 'test ');
SQL> select count (1) from test;
COUNT (1)
----------
99412



SQL> select * from v $ version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0-64bit Production
PL/SQL Release 11.2.0.1.0-Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0-Production
NLSRTL Version 11.2.0.1.0-Production
SQL> drop table test purge;
-- Transaction-based temporary table
SQL> create global temporary table test
(
ID number
)
On commit delete rows;
SQL> insert into test select object_id from dba_objects;
70379 rows inserted
SQL> select count (1) from test;
COUNT (1)
----------
70379
SQL> exec dbms_stats.gather_table_stats (user, 'test ');
SQL> select count (1) from test;
COUNT (1)
----------
0

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.