Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak najwydajniej przerzucić tabelę między bazami?
nexis
post
Post #1





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

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


Mam dwie bazy danych, działające na tym samym serwerze. Pierwsza baza ma następującą tabelę:
  1. CREATE TABLE `sklep_parametr` (
  2. `produkt` varchar(32) NOT NULL,
  3. `nazwa` varchar(255) NOT NULL,
  4. `opis` varchar(255) NOT NULL,
  5. `jm` varchar(16) NOT NULL
  6. ) ENGINE=MyISAM DEFAULT CHARSET=latin2;

którą chcę przerzucić do drugiej bazy danych o trochę odmiennej budowie tabeli:
  1. CREATE TABLE `parameter` (
  2. `product_code` varchar(255) collate utf8_polish_ci NOT NULL,
  3. `id` int(11) NOT NULL AUTO_INCREMENT,
  4. `key` varchar(255) collate utf8_polish_ci NOT NULL,
  5. `value` varchar(255) collate utf8_polish_ci NOT NULL,
  6. PRIMARY KEY (`id`),
  7. KEY `product_code` (`product_code`)
  8. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci;

Relacje mają być następujące:
product_code = produkt
id = (auto increment)
key = nazwa
value = opis

Jak zrobić taką kopię najwydajniej z poziomu PHP? Warto dodać, że tabela posiada ponad 250.000 wpisów!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Mozesz probowac wylaczyc timeout. Albo zapisywac gdzie skonczyles przerzucanie, a potem je wznowic.

Kod? Na pewno multi insert, tzn

INSERT INTO tabelka (........) VALUES (...), (...), (...), (...), (...), (...), (...), (...)

i pobaw sie iloscia rekordow, ostatnio uzyskiwalem najlepsze rezultaty dla ok 250 sztuk na 1 insert, no ale to zalezy bardzo od danych jakie wstawiasz.
Go to the top of the page
+Quote Post
nexis
post
Post #3





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

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


Cytat(dr_bonzo @ 9.09.2009, 09:53:08 ) *
Mozesz probowac wylaczyc timeout.

Tak jak pisałem: hosting współdzielony na home.pl - nie ma możliwości wyłączenia timeout.
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: 8.10.2025 - 10:07