Как бы оптимизировать скрипт?

Buldozer

Новичок
Как бы оптимизировать скрипт?

Есть скрипт который извлекает определенное количество записей из БД, и далее поочередно обрабатывает каждую из них.
После каждой итерации идет update строки уже обработанными данными. 200 итераций по обработке данных занимают около 2х секунд, но 200 апдэйтов таблицы растягивают время выполнения скрипта до 4 минут.

Какие есть варианты по оптимизации скрипта?
 

Buldozer

Новичок
"задержать операции обновления, а потом делаеть сразу несколько обновлений".

Здесь подразумевается, что можно сделать несколько обновлений одним заросом? Как это можно сделать?
 

Buldozer

Новичок
Данные - текст.
На самом деле удалось сократить время выполнения скрипта с 4 минут до 11 секунд за счет использования индексов.

Впечатлен - буду читать мат.часть дальше.

-~{}~ 19.07.06 19:38:

Данные - текст.
тип полей в основном char() - не очень разбираюсь в терминологии.
 

Кром

Новичок
И что там изменяется? Возможно имеет смысл делать обновление с помощью регулярных выражений встроенных в mysql.
 

Buldozer

Новичок
Это инсталлятор скрипта сео-статистики. На этапе инсталляции есть таблица со списком доменов и некоторыми их свойствами(пустыми), и задача заполнить эти свойства.
Сначала делается выборка порции урлов, потом по каждому урлу выбирается ин-фа и пишется в эту же таблицу where domain = урл.

Возможно имеет смысл делать обновление с помощью регулярных выражений встроенных в mysql.
так что, если ничего не путаю, то это не тот случай.
 

Кром

Новичок
Для процесса инсталляции те-же 11 сек., это нормально.

>Сначала делается выборка порции урлов, потом по каждому урлу выбирается ин-фа и пишется в эту же таблицу

А почему нельзя инфу сразу занести в таблицу? Откуда она берется?
 

tasii

Новичок
Можно использовать SQlite он почти в 2 раза быстрее и для твоей задачи он подходит
 

Buldozer

Новичок
почему нельзя инфу сразу занести в таблицу? Откуда она берется?
Здесь идет расчет стоимости вывода в top 10 поисковых систем по выбранным запросам. Пользователь вводит запрос, а система делает расчет стоимости - который основан на анализе "обратных ссылок".

Собственно сначала загоняются бэклинки в эту таблицу, а потом идет их анализ(поскольку их просто бешеное кол-во и приходится обрабатывать по крону).

11 сек для порции из 200 урлов - это нормально ;)... особенно по сравнению с тем, что было изначально :).
 
Сверху