Jump to content
php.lv forumi

Lielāka par 100 Mb XML faila transfērs uz MySQL


ffgghh

Recommended Posts

Klau tauta iesakiet vienkāršāko un ātrāko veidu kā ne mazāk kā 100Mb liela xml faila saturu ielādēt MySQL datubāzē?

 

XML failā ir tikai viena līmeņa dati resp XML faila rinda = MySQL tabulas rinda

 

;)

Edited by ffgghh
Link to comment
Share on other sites

1.) gzip tavs_fails.xml un tad liec iekšā

2.) Kāpēc jāliek iekš DB? Nepietiek ar atsauci?

 

 

1.) drusku nesapratu kapēc gzip ?

2.) šajā fails ir ļoti lielas datubāzes atsevišķu datui apkopojums kas obligāti ir jāieliek MySQL vai jebkādā citā PHP pieejamā datubāzē lai varētu normāli izmantot webā. Piekam šis fails atjaunojas reizi diennaktī!!!

Link to comment
Share on other sites

Ah tad tu gribi ieimpotēt datus (XML->table)... Nākošreiz izvēlies attiecīgos terminus.

 

Ja tur tik tiešām ir primitīvs XML, tad ar fread + while + preg_match pietiks.

XML DOM lasīšana strādās tik pat lēni, kā šis variants, bet ir ērtāks..

 

Protams, var arī uzstādīt XMLElement reader handlerus iesetot pa taisno...

 

PS: skaties XML DOM referenci iekš PHP manuāļa tur ir piemēri.

Link to comment
Share on other sites

Ah tad tu gribi ieimpotēt datus (XML->table)... Nākošreiz izvēlies attiecīgos terminus.

 

Ja tur tik tiešām ir primitīvs XML, tad ar fread + while + preg_match pietiks.

XML DOM lasīšana strādās tik pat lēni, kā šis variants, bet ir ērtāks..

 

Protams, var arī uzstādīt XMLElement reader handlerus iesetot pa taisno...

 

PS: skaties XML DOM referenci iekš PHP manuāļa tur ir piemēri.

 

 

Delfins: Vai nevari iedot kādu piemēru. ps. manuāli es arī noteikti izlasīšu!

Link to comment
Share on other sites

Tutoriāļi, manuāli - tas viss ir fufelis...

 

Tiko taisu load lielajam failam viss pisec - mašīna burtiski nomirst līdz php script timeoutam.

 

Bet jautājums bija - >

 

Kā visoptimālāk un visātrāk transferēt lielāku par 100Mb XML => MySQL ???

1na XML rinda = 1na MySWL tabulas rinda - viens pret vienu - mez jebkādām izmaiņam

 

Iesakiet konkrētu tehnoloģiju lūdzu>?

 

$dom = new DomDocument();

$dom->load("xml.xml");

$titles = $dom->getElementsByTagName("TagName");

foreach($titles as $wresult)

{

 

$x1s = $wresult->getElementsByTagName("x1");

$x1 = $x1s->item(0)->nodeValue;

 

$x2s = $wresult->getElementsByTagName("x2");

$x2 = $x2s->item(0)->nodeValue;

 

$x3s = $wresult->getElementsByTagName("x3");

$x3 = $x3s->item(0)->nodeValue;

 

echo '<b>'.$x1.'</b><br>'.$x2.'<br>'.$x3.'<br>'; //Šeit var itkā likt mysql query kas uploado datus

}

 

LŪDZU IESAKIET KAUTKO ĀTRĀKU PAR ŠO...

Link to comment
Share on other sites

×
×
  • Create New...