[ Príspevkov: 9 ] 
AutorSpráva
Offline

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

Registrovaný: 20.03.07
Prihlásený: 21.03.07
Príspevky: 4
Témy: 1 | 1
NapísalOffline : 20.03.2007 23:42 | Rýchly UPDATE databázy

Nechcem veľmi otravovať, ale potreboval by som radu.
Mám droblém s úpravom záznamov v databáze.Potrebujem hromadne meniť približne 500 záznamov, no ak použijem príkaz update s podmienkou v cykle tak mi trvá takýto update aj niekoľko sekund.Keď som to skúsil na 1000 a viac záznamov dokonca niekoľko minút.

Nemohol by mi niekto poradiť ako sa to správne má robiť. Som len amatér samouk a neviem kde je chyba. Určite mám čosi zle ale neviem presne čo či je to webhostingom, scriptom, alebo štruktúrou databázy.


Dík


Offline

Skúsený užívateľ
Skúsený užívateľ
Rýchly UPDATE databázy

Registrovaný: 07.03.06
Prihlásený: 23.01.11
Príspevky: 404
Témy: 2 | 2
Bydlisko: Prešov / Pr...
NapísalOffline : 21.03.2007 1:00 | Rýchly UPDATE databázy

Podľa toho ako meníš záznamy... Niekedy sa cyklom jednoducho nevyhneš, avšak v niektorých prípadoch ide len o správne nastavenie podmienky v query. Hoď sem ukážku toho pôvodného zdrojáku, alebo popíš čo chceš ako podľa akých kritérii meniť...


Offline

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

Registrovaný: 20.03.07
Prihlásený: 21.03.07
Príspevky: 4
Témy: 1 | 1
Napísal autor témyOffline : 21.03.2007 8:52 | Rýchly UPDATE databázy

Tu mám konkrétny výpis kódu.

pripoj();
$i=1;
$result=mysql_query("select * from st_import order by idcl ");

while ($row=mysql_fetch_assoc($result)) {
$new_id=$row['id'];
$new_nazov=$row['Nazov'];
$new_pocet=$row['pocet'];
$new_krajina=$row['krajina'];



$dotaz="update st_clanky ";
$dotaz.="SET id='".$new_id."',visible='0',";
$dotaz.="nazov='".$new_nazov."',pocet='".$new_pocet."'";
$dotaz.="obr_t='".$new_id.".jpg'";

$dotaz.=" WHERE krajina='".$new_krajina."' ";

$error=mysql_query($dotaz); // update clanky

echo $i."/".$dotaz."<br>"; // toto mam len na sledovanie vypisu
$i++;
}

"idcl"- mam indexované (id clanku)

Potrebujem zmeniť všetky záznamy v tabuľke st_clanky podľa kritéria krajina=new_krajina, ktoré som si vytiahol z tabuľky st_import.Do tabuľky st_import robím import z txt súboru ten súbor ma cca 3MB a tiež kvôli nedostatočnej rýchlosti som nechcel aby sa menili záznami v hlavnej tabuľke st_clanky, preto som si vytvoril st_import a naivne som si myslel že databáza mi ten problém porieši, ale problém je práve v tom príkaze UPDATE a už ma nič nenapadá ako by som to mohol riešiť inak.

Preto otravujem ľudí.


Vopred vďaka za radu.


Offline

Skúsený užívateľ
Skúsený užívateľ
Rýchly UPDATE databázy

Registrovaný: 07.03.06
Prihlásený: 23.01.11
Príspevky: 404
Témy: 2 | 2
Bydlisko: Prešov / Pr...
NapísalOffline : 21.03.2007 15:15 | Rýchly UPDATE databázy

Neviem, iné riešenie ma nenapadá ak do každého riadku tabuľky potrebuješ dať iné dáta... Hromadne to ide len cyklom. ako často to potrebuješ robiť? Každý deň, hodinu,...?


Offline

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

Registrovaný: 20.03.07
Prihlásený: 21.03.07
Príspevky: 4
Témy: 1 | 1
Napísal autor témyOffline : 21.03.2007 18:42 | Rýchly UPDATE databázy

V tom je ten problém že potrebujem riešenie, ktoré by sa dalo používať častejšie lebo záznamov mi tam pribúda a čím ďalej tak tým dlhšie to bude trvať. A určite to musí dajako isť lebo inak by mnohé databázy boli nepoužiteľné. Ibaže ja neviem kde je problém. Ono v cykle problém nieje, pretože ak vynechám zápis do databázy zbehne to za okamih. Ale ak už dám meniť záznamy v databáze 4 hodiny nerobí nič iné. Dokonca som nechal upraviť len 100 záznamov(100 cyklov) a aj tak to trvalo cca 30 sekúnd.


Offline

Skúsený užívateľ
Skúsený užívateľ
Rýchly UPDATE databázy

Registrovaný: 07.03.06
Prihlásený: 23.01.11
Príspevky: 404
Témy: 2 | 2
Bydlisko: Prešov / Pr...
NapísalOffline : 21.03.2007 18:57 | Rýchly UPDATE databázy

Databázam sa nevenujem dostatočne dlho nato, aby som ti vedel rozumne poradiť, som v tomto smere tiež amatér. Otázkou je prečo potrebuješ tak často meniť toľko záznamov a len keď to dobre chápem prelievať dáta z jednej do druhej? Nejaké stávky, alebo o čo sa jedná? Je to dobre navrhnuté od základov, netreba ísť na to iným smerom?


Offline

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

Registrovaný: 20.03.07
Prihlásený: 21.03.07
Príspevky: 4
Témy: 1 | 1
Napísal autor témyOffline : 21.03.2007 19:29 | Rýchly UPDATE databázy

Neviem či je to dobre navrhnuté, a ani neviem či náhod nieje chyba v obmedzeniach webhostingu.
Ťažko povedať, ďakujem ti aspoň za ochotu pomôcť.


Offline

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

Registrovaný: 03.05.07
Prihlásený: 03.05.07
Príspevky: 1
Témy: 0 | 0
NapísalOffline : 03.05.2007 0:08 | Rýchly UPDATE databázy

1) idexovanie spomaluje zapis a to o dost, pokial to potrebujes updatenut viac krat za den zrus ten index
2) SELECT ALL (*) je velmi nestastny zapis, vzdy je lepsie vsetko vypisal aj kedby ta to malo stat o 30 min viac casu SELCET id, Nazov, pocet, krajina FROM st_import ORDER by idcl


Offline

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

Registrovaný: 08.06.07
Prihlásený: 10.06.07
Príspevky: 2
Témy: 0 | 0
NapísalOffline : 08.06.2007 20:38 | Rýchly UPDATE databázy

UPDATE st_clanky SET
st_clanky.id = st_import.id,
visible = 0,
st_clanky.nazov = st_import.nazov,
st_clanky.pocet = st_import.pocet,
st_clanky.obr_t = cast(st_import.id as nvarchar(10)) + '.jpg'
FROM st_import
WHERE st_clanky.krajina = st_import.krajina



enjoy!


 [ Príspevkov: 9 ] 


Rýchly UPDATE databázy



Podobné témy

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

MSI LIVE UPDATE 3, update biosu

v nVidia čipové sady

1

1799

11.01.2009 14:33

f4r0

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

Rychly vyber

v Mobilné zariadenia

3

258

21.06.2015 22:01

expresado

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

Rýchly internet

v Poskytovatelia internetu

1

483

16.08.2007 0:41

Numline1

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

Rychly Linux

[ Choď na stránku:Choď na stránku: 1, 2, 3 ]

v Operačné systémy Unix a Linux

65

3793

04.06.2010 17:03

mirom

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

rychly start prehliadavaca

v Sieťové a internetové programy

1

273

07.11.2010 14:28

majky358

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

Rýchly USB kľúč

v Úložné zariadenia

6

1093

19.06.2016 9:31

Deni396

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

daky rychly net

v Siete

5

398

11.04.2008 17:30

markus.22

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

Rychly HDD - 1TB

v Úložné zariadenia

26

1529

06.07.2011 23:00

jtbs

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

Rýchly procesor spomalil?!

v Intel - Integrated Electronics

5

421

10.02.2014 8:44

tatko Tom

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

Rychly start Opera

v Sieťové a internetové programy

1

388

19.03.2009 18:34

lio

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

Rychly USB kluc

v Úložné zariadenia

10

3642

02.10.2010 10:46

nicolai

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

Lacny rychly USB 32GB

v Úložné zariadenia

3

383

23.10.2012 12:59

GIGN1987

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

rychly USB kluc 8GB

v Úložné zariadenia

12

1036

22.12.2011 12:17

mimkork

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

Mobil - malý, tenký, rýchly?

v Mobilné zariadenia

13

1104

31.08.2011 21:54

Cirky

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

Rychly internet do TMobilu

v Poskytovatelia internetu

3

498

30.10.2007 1:49

Roberbo

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

Rychly disk na system

v Úložné zariadenia

9

731

08.05.2011 22:31

Pitwo



© 2005 - 2024 PCforum, edited by JanoF