• I liked the article.

    Whe I am working on performance I am primarily concerned with physical I/O, not logical I/O when it comes to performance. [OK, someone tear me a new one. There ARE few occassions where logical becomes important, but not in a conventional OLTP design.]

    Secondly, it is the optimizer's job to interpret the code. It should not matter whether the statement is: 1. read/insert or read/update, 2. merge, or 3. some other future variant. ALL of these should get interpreted and compiled in the exact same manner.