MySQL, PHP vlozenie velkeho mnozstva dat
-
harrison314
Hardcore addict
- Príspevky: 8223
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
MySQL, PHP vlozenie velkeho mnozstva dat
Zdravim,
do MySQL cez PHP nahadzujem velke pocty malich zaznamov ( datetime, varchar(100),int,int ), lenze pri jednom importe ich moze byt aj 150 000, pri pouziti cyklu s INSERT INTO mi to trvalo 3 hodiny, ked som to obalil do tranzakcie pol hodinu, ale to je strasne vela.
Ako sa da tento cas vkladania stlacit na minimum?
Este dalsia otazocka, nema nahodou dakto XML-ko z menianmi ? format datum - meno(mená) ?
do MySQL cez PHP nahadzujem velke pocty malich zaznamov ( datetime, varchar(100),int,int ), lenze pri jednom importe ich moze byt aj 150 000, pri pouziti cyklu s INSERT INTO mi to trvalo 3 hodiny, ked som to obalil do tranzakcie pol hodinu, ale to je strasne vela.
Ako sa da tento cas vkladania stlacit na minimum?
Este dalsia otazocka, nema nahodou dakto XML-ko z menianmi ? format datum - meno(mená) ?
Re: MySQL, PHP vlozenie velkeho mnozstva dat
Preco to importujes cez php a nerobis import priamo sql dumpu - cez mysql pripadne mysqldump?
-
harrison314
Hardcore addict
- Príspevky: 8223
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: MySQL, PHP vlozenie velkeho mnozstva dat
Pretoze to ma byt automatizovane a nemam dump ale tie data parsujem.
Re: MySQL, PHP vlozenie velkeho mnozstva dat
Takyto sposob si skusal?
Je to urcite rychlejsie ako viac insertov ale neviem si predstavit co to bude robit pri takom mnozstve dat, treba vyskusat.
Kód: Vybrať všetko
"INSERT INTO table (id,box) VALUES (1,'box1'),(2,'box2'),(3,'box3')"-
harrison314
Hardcore addict
- Príspevky: 8223
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: MySQL, PHP vlozenie velkeho mnozstva dat
forfun: vysledok je rovnaky ako keby pouzijem tranzakcie.
-
mastermind
VIP
- Príspevky: 4810
- Registrovaný: 09 feb 2005, 13:17
Re: MySQL, PHP vlozenie velkeho mnozstva dat
mas na tabulke nejake indexy? co je primary key?
-
harrison314
Hardcore addict
- Príspevky: 8223
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: MySQL, PHP vlozenie velkeho mnozstva dat
ano ma a skoro vsetko, medzicacom sa trocu zmenila,mastermind napísal:mas na tabulke nejake indexy? co je primary key?
int - primary key
datetime - tu by bol tiez vhodny index, dane texty sa budu vypisovat podla datumu vzostupne
varchar(100)
int - index, je to cudzi kluc
int - index, je to cudzi kluc
int - index, je to cudzi kluc
-
harrison314
Hardcore addict
- Príspevky: 8223
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: MySQL, PHP vlozenie velkeho mnozstva dat
este som to neskusal, ale v zzdrojaku su pouzite tranzakcie
Re: MySQL, PHP vlozenie velkeho mnozstva dat
ja tam vidim aj toto
btw. tiez som to este neskusal, je mozne ze ti to nepomoze, no podla clanku by import cez subor (vygenerovany cez php) mal byt 20x rychlejsi nez cez tranzakcie.
Kód: Vybrať všetko
LOAD DATA
CONCURRENT LOCAL INFILE '${in_file}'
INTO TABLE ${table}
FIELDS TERMINATED BY ':::,'
LINES TERMINATED BY '^^^\\n'