Solved

Query question

Posted on 2007-04-03
4
789 Views
Last Modified: 2012-06-27
I have a query like below..
Insert /*+ append */ into sales select * from  temp_sales.

What is /*+ Append */ ? when do you use it?   is it some kind of index hint?
0
Comment
Question by:jung1975
  • 2
4 Comments
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 18846136
/*+ APPEND */ is an oracle hint, that tells oracle to add the data above the high water mark, and does not try to find empty space in the already used blocks of the table.
0
 
LVL 143

Assisted Solution

by:Guy Hengel [angelIII / a3]
Guy Hengel [angelIII / a3] earned 150 total points
ID: 18846149
when to use it: usually, when you load lots of rows to the table, ie from another table.
using it will avoid the overhead of trying to fit in few rows each time into places in blocks where rows have been deleted previously in the table.
will not give any performance boost on tables that are empty, or where all blocks are full.
0
 
LVL 16

Assisted Solution

by:MohanKNair
MohanKNair earned 50 total points
ID: 18846451
Append hint can be used to bypass UNDO operations while doing insert
0
 
LVL 28

Accepted Solution

by:
Naveen Kumar earned 300 total points
ID: 18846476
just to put it with some sample data:

table1
-------
row1             - existing
row2             - deleted
row3             - deleted ( though row2 and row3 are deleted from table, this space can be reused for inserts but this is an used space )
row4             - existing. This is the last row in the table till now.  So any space beyond this is unused space from here till the allocated space of the object.

if you use this hint /*+ append */, the insert command will start from the unused space after row4 and it will continue...meaning if not sufficient it will consume space from the tablespace.

If this hint is not used, then oracle might try to use the free space ( already used space of row 2 and row 3 ) for the new inserts which we are doing and if the record length of the data which we are inserting is matching with the free space ( already used space of row2 and row3 ).

let us say, deleted records had many fields had null and new inserts have data for all fields and so oracle will just try and free space ( used space ) will not be sufficient and so it proceeds after row4 which is like using /*+ append */ hint.

As angelIII said, for tables which are complete empty ( meaning tables which are already truncated or just got created ) or tables which are completely full ( with no holes in the data blocks ) will not have any impact whether u use this hint or not.

Thanks
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
data lookup in Oracle - need suggestions 55 121
Create Index on a Materialized View 5 32
having some issue on pl sql procedure 1 23
Checking for column width 8 28
How to Create User-Defined Aggregates in Oracle Before we begin creating these things, what are user-defined aggregates?  They are a feature introduced in Oracle 9i that allows a developer to create his or her own functions like "SUM", "AVG", and…
Checking the Alert Log in AWS RDS Oracle can be a pain through their user interface.  I made a script to download the Alert Log, look for errors, and email me the trace files.  In this article I'll describe what I did and share my script.
This video shows how to configure and send email from and Oracle database using both UTL_SMTP and UTL_MAIL, as well as comparing UTL_SMTP to a manual SMTP conversation with a mail server.
This video shows how to copy an entire tablespace from one database to another database using Transportable Tablespace functionality.

792 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question