Есть перечень файлов в директории (более 15 тыс.)
Пробовал сначала данные о файлах вносить в отдельную таблицу, а потом делать выборку. Но чтобы внести данные, опять надо делать много запросов, а если одним через implode
то сервер подвисает и не срабатывает, т. к. в VALUES() более 15 тыс. значений получается.
Есть идеи?
p.s.
Решил проблему вставкой VALUES по 1000 шт.
А вообще неправильный запрос был, т. к. там надо было каждый элемент VALUES брать в (), иначе получается я в одно поле пытаюсь засунуть тысячи полей.
вот так
PHP:
скопировать код в буфер обмена
$array = scandir(self::IMG_PROD);//получили массив с именами файлов $y=0;
for($i=2
, $c=count($array); $i<$c; $i++) { $y++;
$filename = $array[$i];
if(substr($filename, 0, 5)!=='full_' and
substr($filename, 0, 6)!=='thumb_'){ if($y<1000){
$insertValues[]="('".$filename."')";
}else{
$sql = "INSERT INTO `".$this->_exist_image
."` (`image_name`) VALUES ". implode(",", $insertValues); echo $sql.'<br>';
$this->db->exec($sql);
$y=0;
}
}
}
А кто как добавляет большие объёмы? М. б. лучше разбивать не по 1000, а по 2000, например, или 5000?