У меня есть сценарий, в котором у меня есть чрезмерное количество обновлений, которые должны выполняться на некотором тексте (в основном текстовые поля типа 64k, но потенциально также и поля среднего текста, которые, я думаю, могут содержат 4MB?) поля (по существу, поиск и замена на этих полях).Сколько функций SQL Updates слишком много
Вот как я знаю, как это сделать, но я не уверен, что это лучший подход.
Использование PHP и MySql, в общем, я хотел бы сделать что-то вроде этого (SQL код не обернутый в PHP код, но вы получите идею):
SELECT id, some_text_row FROM table WHERE some_text_row LIKE '%some phrase%'
Это потенциально может вернуть несколько десятков тысяч строк.
Далее, я хотел бы сделать что-то вроде этого:
$row['some_text_row'] = str_replace('some phrase',
'some other phrase',
$row['some_text_row']);
UPDATE table
SET some_text_row = "{$row['some_text_row']}"
WHERE id="{$row['id']'}"
LIMIT 1;
И как я уже сказал, это может быть десятки тысяч обновлений.
Не имея опыта для этого большого обновления, Мне интересно, есть ли лучший подход к этому или, если десятки тысяч строк на самом деле не проблема (в этом случае вопрос в том, сколько строк будет проблемой).
Спасибо.
Почему у вас есть 'LIMIT 1' в инструкции UPDATE? –
Привычка действительно - я обычно делаю это по моим запросам DELETE только для того, чтобы быть в безопасности. Полагаю, что это не обязательно. – OneNerd