![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 0 Dołączył: 8.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
Problem polega na tym ze chcialbym dodac w 1 zapytaniu n-rekordow;
w mysql: "INSERT INTO db(id,nazwa) VALUES ('2','xxx'),('3','ttt'),('5','uuuu')"; - dziala jak osiagnac identyczny rezultac w postgresie? Czy jedynym rozwiazaniem jest tworzeni np. 10 tys zapytan? Bo o tym mowa... |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Musisz utworzyć 10 zapytań. Jak dobrze pamiętam to w wersji 8.2 ma być taka możliwość jak opisałeś.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 155 Pomógł: 0 Dołączył: 28.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Jezeli musisz wrzucic duzo insertow do bazy danych to duzo szybciej (pretkosc rosnie wykladniczo przy coraz wiekszej ilosci inertow) od INSERT dziala \copy z stdin
Przydaje sie to gdy przenosisz bazy, z tym ze w pg_dump musi byc bez opcji d i D |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 0 Dołączył: 8.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
Musicie mowic prosciej co to " \copy z stdin" i o jakie opcje chodzi? Duza ilosc zapytan, mowie o 10,20,50 tysiacach dodanych rekordow
Adiasz ale ja ta predkosc ma rosnac? psql wie ze dodaje kolejno w krotkim czasie nastepne insertu i na podstawie tego przyspiesza ich dodawanie. Ale musze wiec sprobowac z osobnymi zapytaniami. Wiem ze przy 10 tysiacach w mysql dodawalem ok 40 sekund... zobacze jak to w psql wyglada Ten post edytował Pucy 24.08.2006, 23:52:06 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 155 Pomógł: 0 Dołączył: 28.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
W sumie nie wiem dlaczego dziala to szybciej, ale dziala i to znacznie.
>> manual Kilkadziesac tysiecy to nie jest duzo (jak dla kogo oczywoscie) dla mnie duza baza to powiedzmy 2m rekordow. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 0 Dołączył: 8.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
Hm, no w sumie, przeciez dodanie na raz ( w moim mniemaniu) to to samo co np przeniesienie bazy, a przeniesienie z 2m rekordow to oj oj (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Dobra, wiec pojedynczymi insertami... bo w sumei ten efekt to tylko jednorazowy, ale chcialem wiedziec czy da sie zoptymalizowac dodawanie
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 22.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
No to mam pytanie mam plik wlasnie gdzie sa bloki copy i mam np taki blok:
COPY umowy (idx_umowy, numer_umowy, idx_zakladu, lp, przedmiot_umowy, data_od, data_do) FROM stdin; 32 WWE123 10 100 BG - 12A Z 2007-01-01 2007-12-31 33 000/0A12 10 100 BZ - 12B Z 2007-01-01 2007-02-28 34 AB-WA00 10 100 BG - 11A Z 2001-01-01 2003-04-11 35 2009\9\\13 10 100 CZ - 13A Z 2007-01-01 2007-12-31 36 X11-AA 12 100 CZ - TZ 2007-01-01 2007-12-31 37 000/0A12 12 100 DZ - TZ 2008-01-01 2008-12-31 38 AB-WA00 12 100 EZ - TZ 2009-01-01 2007-12-31 39 2009\5\\22 12 100 DZ - TZ 2007-01-01 \N 40 000/1 15 100 Op. Zdr Basic 2008-03-01 \N 41 000/2 15 100 Op. Zdr Basic \N 2009-05-12 42 000/3 16 100 Op. Zdr Basic 2007-01-01 2007-12-31 \. No i niestety baza zwraca query OK ale nie dodaje mi zadnego rekordu do bazy ... tabela jest dalej pusta ... mozecie cos doradzic (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 16:09 |