Typically, querying an information map in SAS Enterprise Guide (or the SAS® Add-In for Microsoft Office) is slower than querying the information map in SAS® Web Report Studio or SAS® Information Map Studio. There are several reasons for the performance differences. Most of these differences are not visible to the end-user.
The Information Maps LIBNAME Engine is retrieving data via a remote connection. Performance is not optimized.
For example, remote processing occurs in all of the following circumstances:
Note: There are several papers that discuss using a stored process to improve performance for information maps. The suggestions in these papers do not apply when the information map is being accessed via the SAS Information Maps LIBNAME Engine. For example, it might take more than 30 minutes to return 1 million rows from an information map that includes a stored process. Instead, these papers are specific to using information maps in applications such as SAS Web Report Studio.
Note: The pooled workspace server is also used to populate dynamic prompts, unless there is no pooled workspace server available to the user.
The following two SAS notes explain two additional performance issues that you might encounter.
One way to see how the processing time is being used is to turn on the SASTRACE system option. One example is shown below.
options sastrace='d' sastraceloc=saslog nostsuffix; |
With the SASTRACE option set, the SAS log shows the PROC SQL statements that are used to create the result set from the information map. The log also shows how much time is being used to retrieve information from the SAS dictionary table.
For more information about the SASTRACE option, see SASTRACE= System Option .
Another way to see how the processing time is being used is to submit the following code in SAS Enterprise Guide. Make sure to change the values for MapFolder, MapName, and Server. Enclose MapFolder and MapName within quotation marks.
/* Uncomment the following line for extreme INFOMAPS engine detail */
*options sastrace='d,,d,sa' sastraceloc=saslog nostsuffix;
/* Replace these three macro values with your MapFolder and MapName
within quotation marks. Also specify a Server (no quotation marks
are necessary for the server name) */
%let MapFolder = "/Shared Data/Maps";
%let MapName = "mymap";
%let Server = yourservername;
%put %sysfunc(time(), timeampm12.): Starting session;
proc javainfo; run;
%put %sysfunc(time(), timeampm12.): Java Runtime loaded;
%put &SYSVLONG4;
%put %sysfunc(time(), timeampm12.): Assigning INFOMAPS library;
sysecho "Assigning library for information map";
libname imaplib sasioime
mappath=&MapFolder
aggregate=yes
metacredentials=no
metaserver=&server
metaport=8561
PRESERVE_MAP_NAMES=YES;
/* NOTE: When using this LIBNAME statement in a batch environment, */
/* you might need to add metadata host and credentials information. */
%put %sysfunc(time(), timeampm12.): Library assignment complete;
proc sql noprint;
drop table imapitems;
%put %sysfunc(time(), timeampm12.): Discovering Map MEMBER name;
*sysecho "Discovering information map member name";
SELECT imap.memname into :_im_memname
from dictionary.infomaps as imap
where imap.mapname=&MapName;
%put %sysfunc(time(), timeampm12.): Query for Map Data Items;
sysecho "Gathering information map data items";
create table imapitems as
SELECT d.dataitemname, d.name, d.id, d.path, d.description, c.label, d.class, c.type, c.length, c.format, c.informat, c.npos
FROM dictionary.dataitems as d, dictionary.columns as c
WHERE (d.libname=c.libname and d.memname=c.memname and c.name=d.name)
and (d.libname ="IMAPLIB" and d.memname="%trim(%superq(_im_memname))")
and (d.isusable="YES")
ORDER BY c.npos;
quit;
%put %sysfunc(time(), timeampm12.): Query Complete;
|
The result of running this code are various timestamps throughout the log that look like the following:
3:44:24 PM: Starting session
...
...
3:44:24 PM: Assigning INFOMAPS library
|
For information about how to optimize performance when accessing information maps using the engine, see the documentation for the version of SAS that you are using.
Product Family | Product | System | Product Release | SAS Release | ||
Reported | Fixed* | Reported | Fixed* | |||
SAS System | SAS Enterprise Guide | Microsoft® Windows® for x64 | 4.2 | 9.2 TS2M3 | ||
Microsoft Windows Server 2003 Datacenter Edition | 4.2 | 9.2 TS2M3 | ||||
Microsoft Windows Server 2003 Enterprise Edition | 4.2 | 9.2 TS2M3 | ||||
Microsoft Windows Server 2003 Standard Edition | 4.2 | 9.2 TS2M3 | ||||
Microsoft Windows Server 2003 for x64 | 4.2 | 9.2 TS2M3 | ||||
Microsoft Windows Server 2008 | 4.2 | 9.2 TS2M3 | ||||
Microsoft Windows Server 2008 for x64 | 4.2 | 9.2 TS2M3 | ||||
Microsoft Windows XP Professional | 4.2 | 9.2 TS2M3 | ||||
Windows 7 Enterprise 32 bit | 4.2 | 9.2 TS2M3 | ||||
Windows 7 Enterprise x64 | 4.2 | 9.2 TS2M3 | ||||
Windows 7 Home Premium 32 bit | 4.2 | 9.2 TS2M3 | ||||
Windows 7 Home Premium x64 | 4.2 | 9.2 TS2M3 | ||||
Windows 7 Professional 32 bit | 4.2 | 9.2 TS2M3 | ||||
Windows 7 Professional x64 | 4.2 | 9.2 TS2M3 | ||||
Windows 7 Ultimate 32 bit | 4.2 | 9.2 TS2M3 | ||||
Windows 7 Ultimate x64 | 4.2 | 9.2 TS2M3 | ||||
Windows Vista | 4.2 | 9.2 TS2M3 | ||||
Windows Vista for x64 | 4.2 | 9.2 TS2M3 |
Type: | Usage Note |
Priority: |
Date Modified: | 2011-03-01 16:50:10 |
Date Created: | 2011-02-16 16:30:06 |