sql запрос в теле foreach для более 10к+ итераций

У меня есть csv документ со списком ссылок, которые есть в контенте постов сайта на WP. Эти ссылки нужно нужно удалить,оставив только их текст и поместив его в тэг span

Я начал с того, что все ссылки из csv файла поместил в массив. Затем в цикле foreach я решил создать примерный sql запрос, просто для удаления всего атрибута href. Но так как ссылок очень много, более 10к, все зависает. Подскажите пожалуйста, как можно создать так много sql запросов в рамках цикла? Либо же эту задачу можно решить другим способом? Спасибо!


Ответы (1 шт):

Автор решения: Ипатьев

10k запросов для базы данных - это ничто, выполняются за 1 секунду.

Если тормозит, то во-первых, заключи цикл с удалением в транзакцию. Это поможт обойти дефолтные настройки движка innodb которые замедляют запросы на изменение данных ради контроля их целостности.

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

→ Ссылка