Задавайте вопросы, мы ответим
Вы не зашли.
Подскажите как можно ускорить работу такого скрипта?
$upd = "SELECT `img` FROM `films` WHERE `img` NOT LIKE '%site.com%' ";
$result = mysql_query($upd) or die("Ошибка: ".mysql_error());
while( $img = mysql_fetch_assoc($result)){
$new_cont = 'http://site.com'.$img['img'];
$sqlIns = "UPDATE `films` SET `img`='$new_cont' WHERE `img`='$img[img]' ";
$result2 = mysql_query($sqlIns) or die("Ошибка: ".mysql_error());
}
В таблице 10000 записей, обновляет долго, есть какой то аналог?
сть ли возможность конкатенировать запись в sql?
что то вроде
UPDATE `films` SET `img`= CONCAT('http://site.com', `img` ) WHERE `img` NOT LIKE '%obnovi.com%' ";
в идеале хотелось бы написать запрос на чистом mysql без php
Отредактированно kuzroman (05.12.2011 23:15:27)
Неактивен
Если добавить индекс на поле, img, то update должен ускориться.
А вот запросу с like вряд ли поможет, потому как MySQL также использует индексы для LIKE операций, толь если аргумент LIKE является строковой константой и при этом не начинается с символа шаблона (% или _).
Функция concat имеется .
Неактивен
Да спасибо разобрался.
UPDATE `films`
SET `img`= CONCAT('http://site.com', `img` )
WHERE `img` NOT LIKE '%obnovi.com%' ";
Неактивен