I have data stored in multiple DB2 SQL Tables on an iSeries and am trying to access them from SAS. When I use the Pass-Through method the process uses the correct index on the iSeries to access the data and the query is very quick. In this example it is able to identify the index in ddldate order and use it to access the data.
PROC SQL;
connect to db2 as SYS7
(user='xxxxx' password='xxxxx' datasrc='sysseven' schema='WHSESTG');
select * from connection to sys7
(select vipnbr, ddldate from whsestg.sales where ddldate='2008-09-05';
disconnect from sys7;
QUIT;
However, when I use the LIBNAME method of accessing the data, the query appears to ignore the indexes on the iSeries and reads through the entire file to get the data. Is there a way to force the LIBNAME method to use the indexes created on these SQL tables?
PROC SQL;
select vipnbr, ddldate from whsestg.sales where ddldate='2008-09-05';
QUIT;