[ Príspevkov: 5 ] 
AutorSpráva
Offline

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

Registrovaný: 16.07.07
Prihlásený: 15.12.17
Príspevky: 1227
Témy: 86 | 86
NapísalOffline : 01.02.2013 15:02 | update velkeho mnozstva dat - cyklus?

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..


_________________
NB: MacBook Pro 13 Retina
Mobil: BlackBerry Classic
Konzola: Xbox One
Offline

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

Registrovaný: 14.04.09
Prihlásený: 28.11.17
Príspevky: 1178
Témy: 188 | 188
NapísalOffline : 01.02.2013 17:05 | update velkeho mnozstva dat - cyklus?

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: 4110
Témy: 30 | 30
Bydlisko: Brno
NapísalOffline : 01.02.2013 17:11 | update velkeho mnozstva dat - cyklus?

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ý: 28.11.17
Príspevky: 1178
Témy: 188 | 188
NapísalOffline : 02.02.2013 12:47 | update velkeho mnozstva dat - cyklus?

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: 4110
Témy: 30 | 30
Bydlisko: Brno
NapísalOffline : 02.02.2013 16:36 | update velkeho mnozstva dat - cyklus?

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.


 [ Príspevkov: 5 ] 


update velkeho mnozstva dat - cyklus?



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

508

26.06.2015 18:20

JanoF

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

827

18.03.2011 15:38

Skyro

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

Redukovanie množstva znakov

v PHP, ASP

5

117

30.04.2013 15:36

BX

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

Zaslanie veľkého súboru

v Ostatné programy

6

685

15.10.2008 23:41

liveman

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

Tlač veľkého obrázku ?

v Krčma

10

808

16.09.2010 21:31

winyx

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

DELPHI - spracovanie velkeho suboru

v Delphi, Visual Basic

0

205

14.12.2012 8:22

Gregi555

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

ulozenie velkeho suboru na web

v Krčma

11

3216

12.01.2009 18:57

mufin

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

213

01.05.2011 20:02

shiro

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

Otvorenie velkeho obrazku s velikostou 268 MB

v Grafické programy

10

257

07.12.2014 15:15

MAREK17

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

MSI LIVE UPDATE 3, update biosu

v nVidia čipové sady

1

1331

11.01.2009 14:33

f4r0

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

VB - cyklus

v Delphi, Visual Basic

3

571

21.05.2009 11:19

Patkoo

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

Nekonečný cyklus

v JavaScript, VBScript, Ajax

8

353

04.09.2011 9:49

camo

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

C cyklus for

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

10

531

26.11.2011 13:57

Fico

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

PHP cyklus for

v PHP, ASP

8

306

20.11.2010 16:13

venom2

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

JAVA, FOREACH CYKLUS

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

2

121

25.08.2017 8:20

mitko

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

[pascal] nekonecny cyklus

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

3

374

02.04.2010 13:24

vama



© 2005 - 2017 PCforum, edited by JanoF