ODBC SQL Views with Multiple OUTER LEFT JOINS

The ODBC driver by default assumes that a LEFT OUTER JOIN may not be handled by the back end server. Therefore if you have more than one join on a view the driver will convert all joins to client side fetches. This can slow down the speed of a view significantly. The solution is to add the switch /NESTING=TRUE to the Driver Options for each table in the dictionary. You can also use MyFile{PROP:DRIVERSTRING} = '/NESTING=TRUE' (This may require the DynamicFileDriver). If you use PROP:DRIVERSTRING you may need to do something like MyFile{PROP:DRIVERSTRING} = '/NESTING=TRUE ' & MyFile{PROP:DRIVERSTRING}. If you have other settings in already set in your dictionary.

1 Like