The event is being fired from core. You can disable this event observer in a custom module (rather then editing core files, which is evil ;) ). Put this in your app/code/local/(VendorName)/(ModuleName)/etc/config.xml
:
<config>
<frontend>
<events>
<catalog_controller_product_view>
<observers>
<reports>
<type>disabled</type>
</reports>
</observers>
</catalog_controller_product_view>
</events>
</frontend>
</config>
The magic happens in merging your config.xml
with the one from core that is defining this observer. Your XML overrides the core <type>
node and sets the type to "disabled" which results in the event observer still being there, but not being fired.
Is there any downside to this (disabling viewed products counting)?
I can't think of any downside in disabling this other than that you can't see product view reports anymore...
Also see the answer by Fra here explaining how to disable reports completely (if you don't need them at all) and other Magento code that puts a load on your database.