| Autor | Zpráva | ||
|---|---|---|---|
| joe Profil |
#1 · Zasláno: 12. 8. 2009, 22:10:43
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 |
#2 · Zasláno: 13. 8. 2009, 02:22:45
Nikdo neví? Potřeboval bych to prosím co nejdříve :-)
|
||
| TomášK Profil |
#3 · Zasláno: 13. 8. 2009, 03:31:32
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ěď. |
||
|
Časová prodleva: 17 let
|
|||
0