Я беру на себя разработку CMS от другого программиста.Поскольку сайт заполняется, мы находим циклы в запросах mysql, вызывающие длительные зависания.Я нашел временное решение для этого, но мне интересно, есть ли более быстрый способ сделать это?
взять таблицу (отслеживает ресурсы):
id resource click
1 res_1 192
2 res_2 12
3 res_3 300
что нам нужноget является популярным ресурсом - 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, что это сумма кликов, деленная на текущее значение клика, а затем при каждом обновлении клика поле «процент» автоматически обновляется?
любая помощь будетбыть оцененным, ура;)