Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]EXPLODE z PHP w kodzie mySQL
yalus
post
Post #1





Grupa: Zarejestrowani
Postów: 281
Pomógł: 0
Dołączył: 8.07.2005
Skąd: EU

Ostrzeżenie: (0%)
-----


Witam,

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

  1. $sql = "select * from tbl_name";
  2. $result = $link->query($sql);
  3. while($row = mysqli_fetch_array($result))
  4. {
  5. $d = explode("<*>", $row["tekst"]);
  6. $sql = 'update tbl_name
  7. set value
  8. imie = "$d[0]",
  9. nazwisko = "$d[1]",
  10. email = "$d[2]",
  11. tel = "$d[3]",
  12. dob = "$d[4]"
  13. where id = $row["id"] limit 1
  14. }


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













--------------------
człowiek nie sznurek wszystko wytrzyma
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 21:45