• Re merge :

    My first thought was nice idea. But then I realized that you do "all that" extra work for an event that happens less than 0.01% of the lifetime of the article.

    Same thing for ISNULL(). Didn't have time to test and prove this but I think that separating those is a better path to take.

    Also 3 part update exists (or output). So no need for update + select there. I know all articles page display the viewed n times in the title. So maybe you can remove an extra select or join (excluded from the top 4) by doing something like this >

    UPDATE dbo.AnalysisLog SET @Count = Count = Count + 1 WHERE ...

    maybe add the "missing" index... depends on the datatype option.