Я собирался спросить об этом список MySql и вспомнил о SO.
Запустив MySql 5.0.85, мне нужно быть максимально эффективным в нескольких запросах. Если бы можно было сделать небольшой обзор, был бы признателен.
Я собираю данные миллионами, и мне нужны 50 лучших, сгруппированных по одному полю, с процентом от того, сколько занимают эти 50 лучших.
Вот что я придумал... 1) У меня есть ощущение, что я могу быть более эффективным, возможно, с соединением 2) Как я могу получить процент с точностью до сотых, поэтому * 100,00, т.е.: .07 становится 7.00, получая ошибки SQL, если я (процент * 100)
SELECT user_agent_parsed, user_agent_original, COUNT( user_agent_parsed ) AS thecount,
COUNT( * ) / ( SELECT COUNT( * ) FROM agents ) AS percentage
FROM agents
GROUP BY user_agent_parsed
ORDER BY thecount DESC LIMIT 50;
Второй вопрос, раз в день мне нужно архивировать результат вышеперечисленного. Любые предложения о том, как лучше всего это сделать? Я могу запланировать с помощью cron или, в моем случае, launchd, если у кого-то нет лучшего предложения.
Вы думаете, что простого 'SELECT (выше) INTO foo' будет достаточно?