Autor Zpráva
bubbuub
Profil *
Zdravím,
bolo by nejako možné updatovať viac tabuliek naraz? Napríklad tieto 3 príkazy nejako zlúčiť do jedného?

UPDATE tab1 SET hodnota = hodnota+1 WHERE `id` = 1;
UPDATE tab1 SET hodnota = hodnota-1 WHERE `id` = 2;
UPDATE tab2 SET ahoj = 'bubu' WHERE xyz = 5;


Vďaka.
Alphard
Profil
proč to neudělat samostatně?
viz http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=28&topic=6 9656
bubbuub
Profil *
Pretože každý ďalší mysql príkaz je záťaž na server navyše...
Kajman_
Profil *
Pokud je v tom nějaký systém, můžete si naprogramovat uloženou proceduru, ketrá ty dotazy udělá přímo na serveru. Ale takovéto jednoduchné dotazy stejně asi Vaši aplikaci neurychlí jejich převedením do procedury, pokud je apache a mysql na stejném stroji. Zkuste si časový rozdíl změřit, jestli to má vůbec cenu.
bubbuub
Profil *
Niekde som čítal, že pri vykonaní UPDATE sa všetky ďalšie SELECTY ktoré sú tak sa posunú do radu (queue) a vykonajú sa až po vykonaní daného UPDATE. A ak sa náhodou UPDATE nejak spomalí tak sa začnú tie SELECTy hromadiť a hromadiť a tým sa stále bude stále zvyšovať záťaž na server a UPDATE aj update ktoré to celé brzdí pôjde pomalšie. Tak môže spadnúť celý mysql.

No a keď tam mám 3x UPDATE tak sa budu dost hromadit tie selecty...
Kajman_
Profil *
No a keď tam mám 3x UPDATE tak sa budu dost hromadit tie selecty...

Musí se řešit vkládání a čtení těch samých dat. Jestli to budete mít ve třech jednoduchých dotazech nebo v uložené proceduře na to asi moc velký vliv mít nebude.

A ak sa náhodou UPDATE nejak spomalí

Proto je snad lepší psát jednoduché a rychlé updaty.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: