SAS/ACCESS Interface for Informix |
Overview |
Autopartitioning for SAS/ACCESS Interface to Informix is a modulo (MOD) function method. For general information about this feature, see Autopartitioning Techniques in SAS/ACCESS.
Autopartitioning Restrictions |
SAS/ACCESS Interface to Informix places additional restrictions on the columns that you can use for the partitioning column during the autopartitioning phase. Here is how columns are partitioned.
You can also use DECIMALS with 0-scale columns as the partitioning column.
Nullable columns are the least preferable.
Using WHERE Clauses |
Autopartitioning does not select a column to be the partitioning column if it appears in a SAS WHERE clause. For example, the following DATA step cannot use a threaded read to retrieve the data because all numeric columns in the table are in the WHERE clause:
data work.locemp; set trlib.MYEMPS; where EMPNUM<=30 and ISTENURE=0 and SALARY<=35000 and NUMCLASS>2; run;
Using DBSLICEPARM= |
Although SAS/ACCESS Interface to Informix defaults to three threads when you use autopartitioning, do not specify a maximum number of threads in DBSLICEPARM= LIBNAME option to use for the threaded read.
This example shows how to use of DBSLICEPARM= with the maximum number of threads set to five:
libname x informix user=dbitest using=dbigrp1 server=odbc15; proc print data=x.dept(dbsliceparm=(ALL,5)); run;
Using DBSLICE= |
You can achieve the best possible performance when using threaded reads by specifying the DBSLICE= data set option for Informix in your SAS operation. This example shows how to use it.
libname x informix user=dbitest using=dbigrp1 server=odbc15; data xottest; set x.invoice(dbslice=("amtbilled<10000000" "amtbilled>=10000000")); run;
Copyright © 2010 by SAS Institute Inc., Cary, NC, USA. All rights reserved.