Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 5 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
update velkeho mnozstva dat - cyklus?

Registrovaný: 16.07.07
Prihlásený: 31.07.22
Príspevky: 1225
Témy: 92
Príspevok NapísalOffline : 01.02.2013 15:02

Zdravim,

riesim jeden problem ktory som este neriesil, tak sa opytam skusenejsich na radu :)

Mam tabulku v ktorej je cca 100 000 zaznamov (stale pribudaju nove). Celu tuto tabulku potrebujem raz za cas prejst, vybrat z nej jednu hodnotu z XY. Tuto hodnotu si ukladam do pola. Nasledne vygenerujem url adresu v ktorej su parametre uvedene tieto hodnoty a poslem ju na iny server ktory mi vygeneruje XML. Z toho XML si podla kazdej hodnoty vykonam update daneho riadku, bud 0 alebo 1. (nerobim to po jednom, ale taktiez ulozim do pola hodnoty ktore budu mat 0 a do ineho ktore budu mat 1 a nasledne vykonam 2x update)

Ide mi o to, ze pri url mozem posielat maximalne 300 parametrov, cize to musim nejako rozkuskovat. Tu nastava cas mojej otazky: Ako sa to robi najvhodnejsie? Pokial to cele hodim do cyklu, je velmi pravdepodobne ze mi to vyhodi timeout a padne to. Uz teraz to pri 300 parametroch trva cca 5 az 8 sekund, nechcem mysliet nato co to bude robit ked to zacyklim :) Cize ako by ste to riesili vy? Idealne bez pridavania dalsieho stlpca v tabulke do ktoreho si ulozim ci to uz bolo skontrolovane :)

Vdaka..


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 18.01.22
Príspevky: 1188
Témy: 198
Príspevok NapísalOffline : 01.02.2013 17:05

Ja som riesil raz nieco principialne podobne, ale sluzilo to len na otestovanie funkcnosti skriptu, takze som sa s tym moc neprplal. Nebude to najlepsie riesenie, kazdopadne bolo to rychle (resp. rychlo vytvoritelne nakolko je to len par riadkov kodu a nemusis nad tym premyslat) a funkcne: napisal som si jednoduchy javascript ktory sa stale redirectoval sam na seba pricom pripocitaval hodnotu do premennej v url a podla toho som urcoval, ktora varka za spracuje. Cize ten cas cyklu prenesies na JS, tym padom sa mi nic nezrusilo. Asi som este nastavoval aj prehliadac aby som sa takto mohol stale redirectovat.
Ak ti nahodou staci taketo riesenie, mozes skusit. Na administrativne ucely by sa to teoreticky dalo pouzit.

// Popripade ak mozes, tak si proste nastavis cas spracuvavania na vyssiu hodnotu.







_________________
CPU: Intel core i5 3470 GPU: Gigabyte N760OC-2GD MB: MSI B75A-G43 RAM: DDRAM3 8GB (2x4GB) TEAM RAM 1600MHz Elite Zdroj: Seasonic G Series 450W HDD: 500GB vybraty z notebooku Lenovo E531 i5-3230M N4IBPXS SSD:Samsung 840 Evo 250GB Case: Fractal Define R4 black pearl FAN: Cooler Master Hyper 212+ EVO DVD: SAMSUNG DVD±R/±RW/RAM SH-224DB SATA, černá, bulk OS: Ubuntu 12.04 64bit & Windows 7 Ultimate 64bit Monitor: Dell U2412m
Offline

Čestný člen
Čestný člen
update velkeho mnozstva dat - cyklus?

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 01.02.2013 17:11

Asi nechapem, co presne trva dlho? Generovanie XML alebo komunikacia s databazou?

My teda dlhotrvajuce skripty riesime obecne tak, ze sa to namrda do cronu, pusti sa to niekedy v noci a je fuk, ze to trva aj patnast minut. Samozrejme po pripojeni k databaze davas AutoCommit = 0 a commitujes az po uspesnom ukonceni, takze sa ti nestane, ze polovicu dat budes mat spracovanu a zmenenu a druhu nie.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 18.01.22
Príspevky: 1188
Témy: 198
Príspevok NapísalOffline : 02.02.2013 12:47

Tak musi upravit 100 000 zaznamov vo varkach po 300, cize sa musi pripojit na iny server, pockat kym mu ten spracuje a odosle XML, to potom sparsovat a ulozit do DB. A toto vsetko 333x. Takze cely tento proces je jasne ze trva dlho, poreto ho nechce cyklit.







_________________
CPU: Intel core i5 3470 GPU: Gigabyte N760OC-2GD MB: MSI B75A-G43 RAM: DDRAM3 8GB (2x4GB) TEAM RAM 1600MHz Elite Zdroj: Seasonic G Series 450W HDD: 500GB vybraty z notebooku Lenovo E531 i5-3230M N4IBPXS SSD:Samsung 840 Evo 250GB Case: Fractal Define R4 black pearl FAN: Cooler Master Hyper 212+ EVO DVD: SAMSUNG DVD±R/±RW/RAM SH-224DB SATA, černá, bulk OS: Ubuntu 12.04 64bit & Windows 7 Ultimate 64bit Monitor: Dell U2412m
Offline

Čestný člen
Čestný člen
update velkeho mnozstva dat - cyklus?

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 02.02.2013 16:36

Tak jako to som pochopil, ale ktora cast toho procesu trva dlho, je docela dolezita otazka. Ak trva dlho to generovanie XMLka kvoli pomalemu serveru, tak ak sa da, treba poslat data POSTom, nie v URL, tam nie je obmedzenie na velkost posielanych dat.
Ak tam robi nejake dlhotrvajuce zazraky v DB, tak pomoct sa tomu asi moc neda-- samozrejme za predpokladu, ze s tou databazou pracujes spravne (mas dobre napisane dotazy; indexy su tam, kde maju byt; ak je to MySQL, tak si si dobre vybral storage engine, z ktorych je teda jeden nahovno a ten druhy este viac).
Ale moc nepoberam, aky je vlastne problem, ze skript dlhsie pobezi... okrem teda vytimeoutovania, co sa da obist, a pripadne teda zamknutia prislusnych tabuliek.


Odpovedať na tému [ Príspevkov: 5 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. PC na zalohu velkeho mnozstva dat

v PC zostavy

2

692

26.06.2015 18:20

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. c++ sqlite alebo xml pre ukladanie velkeho mnozstva dat

v Assembler, C, C++, Pascal, Java

5

433

09.07.2018 8:12

BX Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Upload velkeho mnozstva fotiek na Facebook - ako na to?

v Sociálne siete

5

1050

18.03.2011 15:38

Skyro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Redukovanie množstva znakov

v PHP, ASP

5

278

30.04.2013 15:36

BX Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Tlač veľkého obrázku ?

v Krčma

10

1112

16.09.2010 21:31

winyx Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zaslanie veľkého súboru

v Ostatné programy

6

876

15.10.2008 23:41

liveman Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. DELPHI - spracovanie velkeho suboru

v Delphi, Visual Basic

0

460

14.12.2012 8:22

Gregi555 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ulozenie velkeho suboru na web

v Krčma

11

3518

12.01.2009 18:57

mufin Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Spomalenie internetu pri rozbalovani velkeho archivu.

v Operačné systémy Microsoft

1

422

01.05.2011 20:02

shiro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. MSI LIVE UPDATE 3, update biosu

v nVidia čipové sady

1

1790

11.01.2009 14:33

f4r0 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Otvorenie velkeho obrazku s velikostou 268 MB

v Grafické programy

10

513

07.12.2014 15:15

MAREK17 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. VB - cyklus

v Delphi, Visual Basic

3

730

21.05.2009 11:19

Patkoo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. diagram cyklus

v Ostatné

2

364

13.06.2018 17:14

void Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nekonečný cyklus

v JavaScript, VBScript, Ajax

8

608

04.09.2011 9:49

camo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PHP cyklus for

v PHP, ASP

8

529

20.11.2010 16:13

venom2 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C cyklus for

v Assembler, C, C++, Pascal, Java

10

825

26.11.2011 13:57

Fico Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra