So I was writing a query in Visual Studio 2010 (by which I mean I opened the server explorer, right clicked the server and chose New Query). The query includes the condition
A AND B AND C AND D AND E AND F AND (G OR H)
which is conjunctive normal form (CNF). When I ran the query(attached to MSSQL Server 2008), it changed the text into
A AND B AND C AND D AND E AND F AND G OR
A AND B AND C AND D AND E AND F AND H
which is disjunctive normal form (DNF).
From the little I found on-line, it seems like DNF allows SQL to run the conjunctives separately and union them at the end.
However, for something like this, with so many repeated conditions, does DNF actually provide an advantage over CNF? If it doesn't, how can I force the optimizer to take the condition as is? If it does, should I write the query in my application code in CNF form because it's shorter and neater or in DNF form because it saves time for the optimizer?