The
fastest way to insert data into a relational database when using the
SAS/ACCESS engine is to use the bulk-loading capabilities of the database.
By default, the
SAS/ACCESS engines load data into tables by preparing
an SQL INSERT statement, executing the INSERT statement for each row,
and issuing a COMMIT. If you specify BULKLOAD=YES as a DATA step or
LIBNAME option, then the database load utility is invoked. This invocation
enables you to bulk load rows of data as a single unit, which can
significantly enhance performance. You can set the BULKLOAD option
on the
Bulkload to DBMS property pane for
the target table. Some databases require that the table be empty in
order to load records with their bulk-load utilities. Check your database
documentation for these restrictions.
For smaller
tables, the extra overhead of the bulk-load process might slow performance.
For larger tables, the speed of the bulk-load process outweighs the
overhead costs. Each
SAS/ACCESS engine invokes a different load utility
and uses different options. For information about using the bulk-load
option for each
SAS/ACCESS engine, see the online documentation for
each engine.
The
Use Bulkload for Uploading and
Bulkload
Options properties are available on the properties window
for each table in a query. The
Use Bulkload for Uploading property applies to the source table. It is a valid option only
when the source table is being uploaded to the DBMS to create a homogeneous
join. The
Bulkload to DBMS property applies
to target tables and turns bulk loading on and off. The
Bulkload to DBMS property is not valid when the
Target Table is Pass Through property on the SQL Properties
pane is set to
Yes.
The option
to bulk load tables applies only to source tables that are participating
in a heterogeneous join. Also, the user must be uploading the table
to the DBMS where the join is performed.