получить результат MySQL на основе значений поля - PullRequest
0 голосов
/ 19 сентября 2010

Я беру на себя разработку 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, что это сумма кликов, деленная на текущее значение клика, а затем при каждом обновлении клика поле «процент» автоматически обновляется?

любая помощь будетбыть оцененным, ура;)

1 Ответ

0 голосов
/ 19 сентября 2010

Вы можете создать представление на своей таблице, которое представляет желаемую сумму

...