We’re smarter together. Learn from this collection of community knowledge and add your expertise.

What is that nasty word DBTMPLIB you see in the SAS Customer Intelligence Logs?

by SAS Employee ESuttonCI on ‎12-15-2015 03:46 PM - edited on ‎12-15-2015 03:50 PM by Community Manager (439 Views)

Another SAS Communities Library article addresses MATables -- this one: What are MATables in SAS Marketing Automation and how to I manage them? Well, here is a bit more information on why we use MATables to help improve performance.


SAS Customer Intelligence (SAS CIS) maintains holding tables to support the execution of campaigns. These holding tables are SAS data sets held in directories on a file system available to SAS CIS and are known as MATables from the name of the libref that specifies the location of the holding tables.


The MATables library is defined in SAS Management Console Data Library Manager, and best practice is to assign a separate MATables library to each business context from the Data Options settings in the Business Context properties dialog box in SAS CIS.


When executing campaigns, the flow of the campaign may dictate the use of MATables datasets in queries against the tables on the database. By default when SAS joins datasets with database tables, all data is returned to SAS to enable the join. This can take a great deal of time. To optimize performance when it executes campaigns, SAS CIS uploads these MATables temporarily to the customer database in order to support in-database joins. The system builds LIBNAME statements as, and when, they are required to enable the uploading of the MATables to the database. These dynamic libraries are named and referred to as DBTMPLIB.


When a join between an MATables dataset and database tables is required, SAS CIS will create a DBTMPLIB library then load the dataset onto a temporary table on the database (using the database’s bulk loading functionality if configured), execute the SQL, drop the temporary table and then clear the DBTMPLIB library. This passes the processing to the database for optimal performance and avoids the transfer of database data to SAS to enable the join.



Your turn
Sign In!

Want to write an article? Sign in with your profile.

Looking for the Ask the Expert series? Find it in its new home: communities.sas.com/askexpert.