Optimalizace importu XML do DB – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Optimalizace importu XML do DB – PHP – Fórum – Programujte.comOptimalizace importu XML do DB – PHP – Fórum – Programujte.com

 

tanned880
Super člen
28. 10. 2012   #1
-
0
-

Zdravím, mám takový problém s importováním produktů z XML do MySQL DB.

Jednoduše řečeno, proces trvá strašně dlouho, na localhostu mi Apach využívá procesor na 80% a jedná se pouze o cca 5 000 Produktů.

Architektura je jednoduchá, od J. Vrány jsem použil stahovač.

$xml = 'http://xml.xml';
$toSave = dirname(__FILE__) . '/file.xml';

$current = file_get_contents($xml);
$tempnam = tempnam(dirname(__FILE__) . '/feeds', "tmp");  
  file_put_contents($tempnam, $current);
  if (!@rename($tempnam, $toSave)) {
      unlink($tempnam);      
  }
  
chmod(dirname(__FILE__) . '/file.xml', 0644);

poté XML zpracuji funkcí simplexml_load_file, projedu forem a ukládám do DB, query('INSERT...')

Nicméně toto je strašně náročné a následné porovnávání kvůli duplicitě už proces časově nedává.

Duplicitu porovnávám tak že hodím SQL SELECT a potom porovnávám v cyklu před INSERTem.

Takže, potřeboval bych prosím poradit, jakým směrem se vydat.

Zda na zpracování použít DOM, třeba je rychlejší. Uložit do pomocné tabulky, kde pracovat už jen s SQL atp.

Děkuju za všechny rady  

Nahlásit jako SPAM
IP: 176.62.232.–
KIIV
~ Moderátor
+43
God of flame
28. 10. 2012   #2
-
0
-

teoreticky si muzes udelat nejakou transformaci pomoci xlst (pokud dobre pamatuju nazev) a pak to jen vytahat treba jako csv..

nebo pouzit parser, co to nacita prubezne - ne hned cely...

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 51 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý