>That's just how engine works. I don't think there is anything wrong here as long as it is documented.
I know that and I know it is not a bug. I just think it would be VERY nice if the engine could figure it out and optimize it. Or I guess in the help file topic for BETWEEN and EMPTY there could be a note something like "You shouldn't actually use these functions because they stink!"
>
>>With index tags on Mem_dEffect and Mem_dExpire this is fully optimized:
>>
>>SELECT * FROM MEMBER WHERE MEMER.Mem_dEffect<=m.ldDate AND MEMBER.Mem_dExpire>=m.ldDate
>>
>>
>>It would seem either of these two would be fully optimized.
>>
>>SELECT * FROM MEMBER WHERE m.ldDate BETWEEN MEMBER.Mem_dEffect AND MEMBER.Mem_dExpire
>>
>>SELECT * FROM MEMBER WHERE BETWEEW(m.ldDate, MEMBER.Mem_dEffect,MEMBER.Mem_dExpire)
>>
>>But with these optimization is only partial. Couldn’t you make the engine smart enough to figure this out and fully optimize it?
>>
>>Also
>>
>>SELECT * FROM MEMBER WHERE MEMBER.Mem_dExpire = {}
>>is fully optimized
>>but
>>SELECT * FROM MEMBER WHERE EMPTY(MEMBER.Mem_dExpire)
>>is not.
>>
>>
>>Again, couldn’t you make the engine smart enough to figure this out and fully optimize it?
>>
>>
>>Thanks,