У меня есть приложение, основанное на конкурсе, и включает в себя (скажем) 10 видов печенья (куки) и 6 видов напитков. Я использую MODx Revolution 2.2 в качестве CMS.Статистический сбор из базы данных
Участники в основном определяют, какой вид напитка им бы хотелось, и введите штрих-код (относящийся к типу бисквита).
Я хочу представить это внутри CMS в качестве статистики, но я полагаю, что достаточно много ресурсов для запроса базы данных для каждого COUNT()
.
$biscuit1 = $modx->query("SELECT COUNT(*) FROM my_table WHERE barcode = '1234'");
$biscuit1 = $modx->fetch(PDO::FETCH_ASSOC);
$biscuit1 = $biscuit1[0];
Так что мои вопросы:
- Делает 16 запросов к базе данных (возможно, больше) плохая практика?
- Если есть лучший способ сбора статистики по наборам данных, что это такое?
Примечание: Я подумал о создании другой таблицы статистики, где я запускаю эти запросы в задании cron в час. Это поможет?
'COUNT (*)' не все, что ресурсоемким. Также это помогло бы, если бы индекс «штрих-код» был проиндексирован –
Есть ли какие-либо негативные последствия для индексации @HankyPanky ㇱ? – ahren
Да, при индексировании операции 'INSERT' замедляются. Но добавление одного индекса вообще не связано с индексацией. В этом случае негативы настолько ничтожны. Индексирование ускоряет ваш запрос экспоненциально –