получить результат MySQL на основе значений поля

0

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

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

Теги:
dynamic-data

1 ответ

0

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню