zastanawiam się czy moje rozwiązanie można wykonać jakoś lepiej, bo wydaj mie się że jest mało wydajne, wolne itd itp
mam tabele w mysql:
id | tekst | imie | nazwisko | email | tel | dob |
wszystkie kolumny są puste oprócz kolumny id i tekst
kolumna `id` to unique autoincrement
a `tekst` to zwykły text w takiej formie:
jan <*> kowalski <*> jan@kowalski.xyz <*> 1234567890 <*> 10-10-2000
teraz z poziomu php wyciągam sobie dane z kolumny `tekst` i rozbijam je na kawałki dzięki EXPLODE wg <*>
otrzymuje tablice z pozostałymi danymi dzięki czemu mogę zaktualizować pozostałe puste kolumny odpowiednimi informacjami, wszystko to wygląda tak
$sql = "select * from tbl_name"; $result = $link->query($sql); while($row = mysqli_fetch_array($result)) { $sql = 'update tbl_name set value imie = "$d[0]", nazwisko = "$d[1]", email = "$d[2]", tel = "$d[3]", dob = "$d[4]" where id = $row["id"] limit 1 }
rekordów w tabeli mam ponad 2 miliony, wiadomo czym grozi puszczenie takiej pętli, wiem mógłbym sobie dzielić zapytanie po kilka tysięcy rekordów
zastanawiam się czy taką aktualizację można by wykonać w inny sposób np. bardziej z poziomu SQL niż tak jak ja to robie w PHP i w pętli while ?
pozdrawiam
i z góry dzięki za wszystkie sugestie