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