Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] INSERT około 5mln rekordów to możliwe?
termin
post
Post #1





Grupa: Zarejestrowani
Postów: 113
Pomógł: 1
Dołączył: 13.05.2003
Skąd: Wrocław

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


Witam, chcę wybrać z bazy MS SQL-a rekordy i wrzucić je do MySQL-a na którym stoi cały sklep internetowy. Problem w tym ze w jednej tabeli jest ponad 5 mln rekordów i tak się zastanawiam jak to najlepiej zrobić. Aktualizacja tej tabeli będzie następować raz na dzień w nocy wiec z czasem nie ma tu problemu.
Zrobiłem select z ms sql i od razu insert do mysql ale po chwili wyskoczył błąd ze php nie jest w stanie zadeklarować tak dużej ilości danych.
  1. Fatal error: Allowed memory size of 524288000 bytes exhausted (tried to allocate 8715264 bytes) in ......


czy ktoś kiedyś dokonywał takich duzych operacji i może się podzielić widzą jak to najlepiej zrobić?

Ten post edytował termin 11.07.2010, 10:49:31
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
termin
post
Post #2





Grupa: Zarejestrowani
Postów: 113
Pomógł: 1
Dołączył: 13.05.2003
Skąd: Wrocław

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


dzięki za te wskazówki. A tak przy okazji, zauważyłem że jeśli w pętli puści się zapytanie do MySQL-a INSERT INTO to on najpierw wykona petlę np. 100 INSERTÓW trzymając to w pamięci, a dopiero potem faktycznie dodaje to do MySQL. Co trzeba by zrobić aby np. dodawał to faktycznie do bazy po każdym przejściu pętli? robiłem COMMIT ale nic to nie daje.

Ten post edytował termin 11.07.2010, 11:43:10
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: 9.10.2025 - 19:49