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

BubenPupen

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

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

Wicked

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

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

-~{}~ 18.07.07 00:21:

откуда у тебя взялось их 18000 штук, и что они из себя представляют?
 

BubenPupen

Новичок
Спортивная статистика.
Около 3000 игр за сезон. Берем одни показатели, смотрим их, с этими результатами обновляем другие показатели. Всего 6 запросов на каждую игру.
 

phprus

Moderator
Команда форума
BubenPupen
Попробуй оптимизировать запросы используя explain.

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

Если я правильно понял, то эта задача выполняется максимум несколько раз в году.
Спортивная статистика.
Около 3000 игр за сезон.
 

BubenPupen

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

-~{}~ 18.07.07 01:49:

Проблема решилась расстановкой индексов.
 

Gas

может по одной?
BubenPupen
а почему не сделать обновление данных не по одной игре, а сразу для всех ?
 

Gas

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