O ile dobrze kojarzę nie ma limitu ilości wierszy dodanych w ten sposób. Jest jednak limit długości samego zapytania, ograniczony przez dyrektywę max_allowed_packet.
Raczej nie szalałbym z ilością dodawanych jednocześnie rekordów.
Gość
29.04.2014, 09:35:35
Ile zatem jest optymalnie i bezpiecznie?
Gość
29.04.2014, 09:57:46
I czy takie rozwiazanie jest dobre, czy zrobiłbyś to inaczej/lepiej ?
PDO niestety nie obsługuje grupowych (ang. batch) operacji. Nie mniej jednak pow. sposób powinien być wystarczająco szybki, a na pewno bezpieczniejszy i wygodniejszy w użyciu niż sklejanie INSERTA-a z wieloma wierszami.
Gość
29.04.2014, 10:16:41
Dzięki w PDO tak to by wyglądało, niestety dostałem skrypt do przeróbki pomijający całkiem wszelkie zasady i korzystajacy z mysql_query i staram się go choć minimalnie zoptymalizować.
Crozin
29.04.2014, 10:24:00
Tutaj zaczynają się już kwestie indywidualnego dostosowania konf. bazy/połączenia, które w dodatku mogą być, i zapewne są, zależne od konkretnych wersji oprogramowania. W takim przypadku faktycznie powinieneś skorzystać z multiple inserts + transakcji (ręczne wywołanie zapytań START TRANSACTION i COMMIT). Ile dokładnie rekordów na raz wrzucać? Prawdopodobnie będziesz musiał zrobić sobie kilka testów i samodzielnie dojść do tego jaka ilość jest optymalna.