I have six conditions in my where clause.
Upper( Ramp ) returns 27,705
Between( HourCount, 37, 48 ) returns 147,711
Upper( Vendor ) returns 555,784
Not Empty( Ramp ) returns 957,731
Not Empty( HourCount ) returns 957,731
The table has 1,166,384 records.
I have an index on Upper( Vendor )
I have an index on Upper( Ramp )
I have an index on HourCount.
I do not have an index on Empty( Ramp )
I do not have an index on Empty( HourCount )
I am using variables but the with the above example the SQL looks like:
Select ;
Ramp, ;
Vendor, ;
VendCity, ;
VendSt, ;
HourCount ;
Where ;
Upper( Ramp ) = 'CHICAGO' And ;
Between( HourCount, 37, 48 ) And ;
Upper( Vendor ) = 'NIKE' And ;
Empty( HourCount ) ;
Into Cursor qVendorTimes NoFilter
I'm afraid to break the SQL down into multiple SQL's because writing out 27,000 records is going to be slow.
Please help me.
TIA