Autor Zpráva
joe
Profil
Ahoj,

pokud chci použít transakce v MySQL, musím mít typ tabulek InnoDB, ale jakých tabulek? Musí to být všechny tabulky, s kterými pracuju během transakce?

Během transakce chci třeba něco zjišťovat z tabulky uživatelů, musí být i tato tabulka uživatelů InnoDB?

Díky
joe
Profil
Nikdo neví? Potřeboval bych to prosím co nejdříve :-)
TomášK
Profil
Dokumentace ví: http://dev.mysql.com/doc/refman/6.0/en/storage-engine-compare-transactions.html
That is, the atomicity of transactions is not guaranteed with mixed engines and inconsistencies can result.

Já osobně bych se využití transakcí na tabulkách s různým vyhnul širokým obloukem, pokud by mě k tomu nedonutil nějaký
hodně dobrý důvod a i pak bych nejdřív hledal jiné řešení. Maximum, co bych si dovolil vyzkoušet, je čtení z
transaction-not-safe tabulky během transakce, a asi bych se bál i toho, pokud by transakce z té tabulky četla vícekrát a
ta tabulka mohla být změněna v průběhu transakce. Možná to funguje, ale chyby, které by mohly vzniknout budou asi hodně zákeřné,
a budou se špatně hledat. Před použitím v ostrém provozu bych to rozhodně testoval ve velkém. Ale znám to jen z teorie, pokud má někdo i praxi, mohl by poskytnout lepší odpověď.

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: