abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:22 | Nová verze

    Editor kódu Zed (Wikipedie) má nově v sobě integrovaný debugger. Podporuje Rust, C/C++, JavaScript, Go, Python a pomocí rozšíření i další programovací jazyky.

    Ladislav Hagara | Komentářů: 0
    včera 22:22 | Zajímavý článek

    Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie). Servo mimo jiné nově zvládne animované GIFy.

    Ladislav Hagara | Komentářů: 0
    včera 21:44 | Bezpečnostní upozornění

    Nejnovější X.Org X server 21.1.18 a Xwayland 24.1.8 řeší další bezpečnostní chybu.

    Ladislav Hagara | Komentářů: 0
    včera 17:55 | Pozvánky

    Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 210. sraz, který proběhne 20. června od 18:00 v Red Hat Labu na Fakultě informatiky Masarykovy univerzity na adrese Botanická 68A nebo také online.

    Ladislav Hagara | Komentářů: 0
    včera 14:33 | Nová verze

    Byla vydána nová verze 17 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v changelogu.

    Ladislav Hagara | Komentářů: 0
    včera 12:00 | Nová verze

    Open source 3D herní a simulační engine Open 3D Engine (O3DE) byl vydán v nové verzi 25.05.0. Přehled novinek v poznámkách k vydání. Nově je implementováno standardizované simulační rozhraní ROS (Robot Operating System) 2.

    Ladislav Hagara | Komentářů: 0
    17.6. 22:44 | Bezpečnostní upozornění

    Nejnovější X.Org X server 21.1.17 a Xwayland 24.1.7 řeší 6 bezpečnostních chyb: CVE-2025-49175, CVE-2025-49176, CVE-2025-49177, CVE-2025-49178, CVE-2025-49179 a CVE-2025-49180. Nils Emmerich je nalezl koncem března a dnes publikoval detaily.

    Ladislav Hagara | Komentářů: 0
    17.6. 14:33 | Nová verze

    Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.4 (Mastodon). Přehled novinek i s videi a se snímky obrazovek v oficiálním oznámení. Podrobný přehled v seznamu změn.

    Ladislav Hagara | Komentářů: 0
    17.6. 10:11 | Komunita

    UN Open Source Week 2025 probíhá tento týden v sídle Organizace spojených národů v New Yorku. Středeční a čtvrteční jednání bude možné sledovat na UN Web TV.

    Ladislav Hagara | Komentářů: 1
    17.6. 03:55 | Nová verze

    Byla vydána nová verze 2.50.0 distribuovaného systému správy verzí Git. Přispělo 98 vývojářů, z toho 35 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (57%)
     (30%)
     (7%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 280 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Dotaz: Import dat z XML do MySQL v PHP

    1.8.2009 08:36 Open Mage | skóre: 24 | Lom
    Import dat z XML do MySQL v PHP
    Přečteno: 1673×

    Ahoj, řeším situaci kdy mám cca 30MB XML soubor s tisíci dat a potřebuji jej rozparsovat, některá data upravit a následně - ideálně v jednom cyklu - naimportovat do předpřipravené tabulky v MySQL. Teoreticky nějaké cesty vím, ale řeším správnou cestu z pohledu výkonu (operační paměť, konektivita k DB, doba trvání skriptu, ...). Mohl by někdo prosím poradit jaký zvolit pro takový moloch nejvýkonnější XML parser (DOM v PHP5, SimpleXML, SAX ...) ? Další otázkou je zda se u každého importováného záznamu připojovat k MySQL zvlášť - nevím jak by to zvládlo perzistentní připojení - a taky zda se vyplatí využít prepared statements? Spíš takový průzkum jak na to jít opravdu nejlépe, aby nestrádal server, DB, ... Ještě poznámka : omezení hostingu jsou - max. execution time 360s a memory limit 75 - obávám se, že na jeden zátah to ani neudělám.

    Díky

    Stanislav Puffler, DiS. specialista na internet marketing a ecommerce www.openmage.cz tel. 773 565 747

    Odpovědi

    Heron avatar 1.8.2009 09:39 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Import dat z XML do MySQL v PHP
    Na tohle SAX, DOM se ti nevleze do paměti. Pak persistentní spojení (nové spojení trvá dlouho), určitě PreparedStatement (ať to DB nemusí pořád kompilovat a optimalizovat) a ještě je vhodné to insertovat po více záznamech (100 naráz, 500 naráz, to chce vyzkoušet). Po jednom to bude trvat dlouho. 1000x záznamů není tak moc, to je do těch 6 minut musí vejít.

    Kolik dat v té tabulce je teď? Možná by stálo za to dropnout před tímto insertem indexy a pak je opět vytvořit.
    1.8.2009 10:58 Open Mage | skóre: 24 | Lom
    Rozbalit Rozbalit vše Re: Import dat z XML do MySQL v PHP

    Osobně se mi pracuje líp s DOM, ale vim, že na tyhle věci optimální neni, tak sáhnu po SAXu. Po více záznamech to nějak určitě udělám, zkusim najít optimální počet. Naštěstí to bude takhle fungovat denně (resp. nočně :) a ta tabulka bude prázdná a vždycky se naplní od nuly znovu (přírustkově-úbytková metoda v tomhle případě není možná asi), tak s tím by problém být neměl. Záznamů bude něco kolem 13 tisíc, tak snad to do těch 6 minut projde.

    Stanislav Puffler, DiS. specialista na internet marketing a ecommerce www.openmage.cz tel. 773 565 747
    MaT avatar 1.8.2009 11:14 MaT | skóre: 28
    Rozbalit Rozbalit vše Re: Import dat z XML do MySQL v PHP

    Mě ještě napadlo si něco na ten import pouštět někde u sebe, na vlastním stroji, kde by člověk nemusel řešit maximální dobu běhu a memory limit. Pak z toho udělat normální SQL dump a ten přenést na hosting. Ale když teď píšete, že se to bude dělat nějak pravidelně...

    Open source software for open minded people. :-)
    1.8.2009 11:18 Open Mage | skóre: 24 | Lom
    Rozbalit Rozbalit vše Re: Import dat z XML do MySQL v PHP

    Taky jsem si s touhle myšlenkou pohrával, ale právě ta denní pravidelnost vyžaduje prostě server + CRON a nestarat se o to.

    Stanislav Puffler, DiS. specialista na internet marketing a ecommerce www.openmage.cz tel. 773 565 747
    Heron avatar 1.8.2009 12:39 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Import dat z XML do MySQL v PHP
    Ano, s DOMem se pracuje lépe, ale ten strom se nevleze do toho tvého memory limitu. A IMHO i kdyby se vlezl, tak na toto je i tak SAX vhodnější ("sekvenční" čtení celého souboru). Je totiž mnohem rychlejší.

    13k záznamů by neměl být problém. V javě by to bylo do 30s hotové. Tady už jen záleží na rychlosti MySQL DB, ale s tím ty nic neuděláš, to záleží na hostingu.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.