Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] masowy INSERT INTO - czym zastąpić?
looimaster
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 26.01.2008

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


Natknąłem się na pewien problem związany z systemem wysyłania wiadomości. Chciałbym dodać na stronę opcję "wiadomość do wszystkich" ale zakładając że na stronie byłoby np. 1000 kont zwykła pętla wykonałaby się 1000 razy za każdym razem dodajć rekord dla poszczególnego konta. Jak zmienić taką pętlę na coś wydajniejszego?

Baza danych: MySQL
Nie mogę oczywiście zrobić oddzielnej tabeli na grupowe wiadomości, bo co się stanie jak jedna osoba to np. usunie? Druga już nie będzie widziała wiadomości. Każdy musi mieć swoją.
Z góry dziękuję za wszelkie pomysły.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Możesz robić INSERTy w paczkach, tj. zamiast:
  1. INSERT INTO tab (pole) VALUES ("wartosc1");
  2. INSERT INTO tab (pole) VALUES ("wartosc2");
  3. INSERT INTO tab (pole) VALUES ("wartosc3");
  4. INSERT INTO tab (pole) VALUES ("wartosc4");
  5. INSERT INTO tab (pole) VALUES ("wartosc5");
  6. INSERT INTO tab (pole) VALUES ("wartosc6");

zrobić tak (przykładowa paczka zawierająca po 3 wpisy:
  1. INSERT INTO tab (pole) VALUES ("wartosc1"), ("wartosc2"), ("wartosc3");
  2. INSERT INTO tab (pole) VALUES ("wartosc4"), ("wartosc5"), ("wartosc6");

Dzięki temu z 6 zapytań robią się 2. Pamiętaj tylko aby nie przesadzić z liczbą danych wrzucanych za jednym zamachem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 30.12.2025 - 08:07