Problem Note 13020: Performance issues with regard to padding of decimals
DB2 doesn't allow integer values larger than 2147483647. So if SAS
encounters a value larger than that it will convert it to a float.
In doing so, the integer values will be padded with 16 decimal places.
This might prevent DB2 from using any existing index on the field and
thus might result in slower performance.
For example
WHERE CODE2 in (1122334455,
2233445566.33,
3344556677.58384,
4455667788)
would be passed as
WHERE ( ("CODE2" IN (1122334455
,2233445566.3300000000000000 ,3344556677.5838400000000000
,4455667788.0000000000000000 ) ) )
The only current workaround is to switch to using SQL pass-thru. The
WHERE clause will be passed as you typed it.
A Technical Support hot fix for Release 8.2 (TS2M0) for this
issue is available at:
http://www.sas.com/techsup/download/hotfix/82_sbcs_prod_list.html#013020
A fix for SAS 9.1.3 (9.1 TS1M3) for this issue is available at:
http://www.sas.com/techsup/download/hotfix/e9_sbcs_prod_list.html#013020
For customers running SAS with Asian Language Support (DBCS), this
fix should be downloaded from:
http://www.sas.com/techsup/download/hotfix/e9_dbcs_prod_list.html#013020
Operating System and Release Information
| Product Family | Product | System | Reported Release | Fixed Release* |
| SAS System | SAS/ACCESS Interface to DB2 | z/OS | 8.2 TS2M0 | 9.1 TS1M3 SP1 |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
| Type: | Problem Note |
| Priority: | medium |
| Topic: | Data Management ==> Data Sources ==> External Databases ==> DB2 SAS Reference ==> LIBNAME Engines
|
| Date Modified: | 2004-12-20 14:01:31 |
| Date Created: | 2004-08-09 14:00:55 |