Допустим, у вас есть форма поиска с несколькими полями выбора, допустим, пользователь выбирает вариант из раскрывающегося списка , но перед тем, как он отправит данные, мне нужно отобразить количество строк в базе данных.
Допустим, на сайт заходят не менее 300 тыс. (300000) посетителей в день, и пользователь выбирает параметры из формы не менее 40 раз за посещение, что будет означать 12 млн запросов ajax + 12 млн запросов подсчета в базе данных, что кажется многовато.
Вопрос в том, как реализовать быстрый подсчет (с использованием php (Zend Framework) и MySQL), чтобы дополнительные 12 миллионов запросов к базе данных не повлияли на загрузку сайта.
Одним из решений может быть таблица, в которой хранятся все комбинации полей выбора и их соответствующие количества (когда продукт добавляется или удаляется из таблицы продуктов, таблица, хранящая счетчик, будет обновлена). Хотя это не очень хорошая идея, когда для 8 фильтров (параметров выбора) из 43 будет вставлено +8 млн строк, которыми необходимо управлять.
Есть ли другие мысли о том, как этого добиться?
p.s. Мне нужны не примеры кода, а сама идея, которая сработает в этом сценарии.