Re: Unify to Informix conversion
Posted in 1994
Thanks for the replies to those who mailed me.
The problem wasn't an Informix one but a Foxpro app where Rushmore
obviously got it's knickers in a twist as my grandma used to say.
As written -
SELECT * FROM a,b,c
WHERE b.p = a.p
AND c.x = b.x
AND c.y = b.y
AND c.z = a.z
the system mis-parses and creates a cartesian join (it was at 900Mb when
I stopped it!), whereas -
SELECT * FROM a,b,c
WHERE b.p = a.p
AND c.z = a.z NB The c/a join first
AND c.x = b.x
AND c.y = b.y
resolves to about 100 rows in less than 10s.
As usual, MS can't write a parser to convert to some canonical form
before optimisation (there are indexes on all the relevant columns). MSUK
Tech Support told me my SQL statement was incorrect or 'ambiguous' so to
make it more obvious I've re-coded in two statements to force the
execution order.
Paul Hatcher Graduate Associates Ltd +44 81 840 3110 - Phone
phatcher@cix.compulink.co.uk +44 81 567 1894 - Fax