Есть такой код. Он заменяет пробелы в полях таблицы. Строк которых нужно обработать около миллиона. Соответственно происходит это действо очень долго. Как можно оптимизировать данный код? Поля в таблице текстовые. PHP: <?php require_once ("connect_db.php"); $data = "SELECT kad_number FROM rezultat"; $query = mysql_query($data); while ($column = mysql_fetch_row($query)) { foreach ($column as $r) { $select1 = "SELECT S_ZU, UPKS_ZU, KS_ZU FROM rezultat WHERE kad_number='$r'"; $select11 = mysql_fetch_array(mysql_query($select1)); $S_ZU = str_replace(' ', '', $select11[S_ZU]); $UPKS_ZU = str_replace(' ', '', $select11[UPKS_ZU]); $KS_ZU = str_replace(' ', '', $select11[KS_ZU]); $update = "UPDATE rezultat SET S_ZU='$S_ZU' ,UPKS_ZU= '$UPKS_ZU', KS_ZU= '$KS_ZU' WHERE kad_number='$r'"; mysql_query($update); } } echo "Все!"; ?>
Keo Код (Text): UPDATE rezultat SET S_ZU=REPLACE(S_ZU,' ',''), UPKS_ZU=REPLACE(UPKS_ZU,' ',''), KS_ZU=REPLACE(KS_ZU,' ',''); Учите матчасть.
эээ а еще в продолжение а можно ли с помощью запроса допустим преобразовать '00 00 121212:1564' в '00 00 12:12:12:1564' ? или тут уже без парсинга в пхп не обойтись? У меня конечно есть задумка что можно использовать в mysql функции LEFT и RIGHT но я не знаю как можно объединить строку.... То есть как сделать что то типа такого UPDATE rezultat SET kad_number= LEFT (kad_number,8)+":"+RIGHT (kad_number,7) WHERE count='1'
Keo LENGTH(str) - длина строки SUBSTRING(str,pos,len) - вырезание части строки CONCAT(str1,str2,...) - склеивание строк