Скорость MySql на локальном сервере.

BubenPupen

Новичок
Скорость MySql на локальном сервере.

Есть скрипт, который выполняет по 18 тысяч запросов (и так несколько раз надо).
Так вот занимает все это около 20 минут.
Смотрю в аутпосте обмен данными между httpd.exe и mysqld.exe, скорость меньше 1 килобайта в секунду.
Как ее повысить ?
 
Скорость между httpd.exe и mysqld.exe - не показатель :) Если запросы "тяжелые", т.е. требуют больших вычислительных мощностей, то она может быть и меньше.

Гораздо более важный фактор - суммарное время выполнения запросов. Его можно уменьшать либо количественно (уменьшать кол-во запросов), либо качественно (уменьшать время каждого из запросов).

-~{}~ 18.07.07 00:21:

откуда у тебя взялось их 18000 штук, и что они из себя представляют?
 
Спортивная статистика.
Около 3000 игр за сезон. Берем одни показатели, смотрим их, с этими результатами обновляем другие показатели. Всего 6 запросов на каждую игру.
 
BubenPupen
Попробуй оптимизировать запросы используя explain.

Однако если такие задачи выполнять надо редко, то я думаю большого смысла задумываться над скоростью нету.

Если я правильно понял, то эта задача выполняется максимум несколько раз в году.
Спортивная статистика.
Около 3000 игр за сезон.
 
phprus
Попробуй оптимизировать запросы используя explain.
Да там запросы элементарные: запрашиваем счет игры, выигрывшей команде повышаем рейтинг, проигравшей уменьшаем.
Дело в том, что алгоритм подсчета рейтинга я могу изменить и ждать 2 часа пока это все обновится достаточно долго.

-~{}~ 18.07.07 01:49:

Проблема решилась расстановкой индексов.
 
BubenPupen
а почему не сделать обновление данных не по одной игре, а сразу для всех ?
 
Как ты себе это представляешь ?
UPDATE поддерживает многотабличный синтаксис и если функционала MySQL хватит для преобразовывания данных, то лучше использовать пакетную обработку, а не обновлять по ложечке.
 
Сверху