Получить результат MySQL на основе значений поля
Я беру на себя разработку CMS от другого программиста. Поскольку сайт заполняется, мы находим циклы в запросах mysql, вызывающие длительные зависания. Я нашел временное решение для этого, но мне интересно, есть ли более быстрый способ сделать это?
взять таблицу (отслеживает ресурсы):
id resource click
1 res_1 192
2 res_2 12
3 res_3 300
нам нужно получить популярность ресурса - res_click/total_click, который он имел в цикле while:
while ($item = mysql_fetch_array ($result)) $total_clicks = $total_clicks + $item[0];
Поскольку на странице может быть 100 или более ресурсов, это работало для каждого ресурса, и это вызывает серьезные зависания.
Мое решение состоит в том, чтобы получить сумму:
SELECT SUM(click) FROM uri
SELECT click FROM resource WHERE id=$x
затем разделите их обоих. Но эти два вызова все еще выполняются для примерно 100 элементов на странице. Есть ли способ, которым я могу иметь поле в mysql, которое является результатом формулы, основанной на другой другой, как в Excell? Таким образом, я мог бы добавить поле "процент", сказать mysql, что это сумма кликов, деленная на текущее значение клика, тогда каждый раз при обновлении клика поле "процент" автоматически обновляется?
любая помощь будет оценена, ура;)
1 ответ
Вы можете создать представление на вашем столе, которое представляет сумму, которую вы хотите