Можно ли в таблице сущности хранить информацию о колличестве ссылающихся сущностей?
Ну чтобы не убить базу и не создавать коллизии существует инструкция WITH NOLOCKMySQL NOLOCK syntax is equivalent to WITH (NOLOCK) in SQL Sever, and it is a transaction isolation level that defines how data is available during an update. With other words, it is a property that defines at what point changes made by an update operation will become available in a row, table or database to requesting processes.
По поводу денормализации - могу вам предложить сделать таблицу ReviewsCounts где хранить id товара и число отзывов. Соответственно вы не будете грузить триггерами таблицу самих товаров. Можете сделать парный ключ idтовара/номер отзыва и число отзывов делать через группировку id товара и MAX(номера отзыва).
А что, просто добавить индекс на поле идентификатора товара недостаточно?
Насколько я понимаю, при его наличии запрос на количество строк с таким индексом базу практически не напрягает.
Или я ошибаюсь?