Jak správně používat zámky a transakce v MySQL a InnoDB?

Většina programátorů chápe SQL transakce jako cestu k tomu, jak vrátit provedené změny v případě, že dojde k nějaké chybě a zabránit tak nekonzistenci dat.

Tento přístup není špatný, ale může vést k závažným problémům – Deadlock-ům (např. „Lock wait time exceeded, try restarting transaction„), pokud nebudete uvažovat i další aspekty transakcí, zámků (shared a exclusive locks), které vytváří, a režimů izolace (isolation level), které používají.

Pokud jste již narazili na Lock wait time exceeded nebo tomu chcete předejít, tenhle článek je právě pro vás.

Pokračování textu Jak správně používat zámky a transakce v MySQL a InnoDB?

Export MySQL do Excel přes JSON

PhpMyAdmin nabízí možnost exportovat tabulku do CSV ve formátu pro Excel. I když je tato možnost šikovná pro rychlý export, ve složitějších případech nelze použít (alespoň snadno). Například nejde jednoduše načíst CSV v UTF-8 do Excelu a pokud nějaký sloupec obsahuje odřádkování (třeba poštovní adresu), může to CSV formát úplně rozbít.

Pokračování textu Export MySQL do Excel přes JSON

Indexy pro urychlení MySQL dotazů

Pokud máte pomalý MySQL dotaz, který data vybírá, filtruje nebo řadí podle více sloupců, můžete ho urychlit pomocí indexu. Způsobů, jakým index vytvořit přesně pro konkrétní dotaz je několik a vlastně žádný není úplně správný.

Můžete ale použít následující kroky pro jeho vytvoření.

Pokračování textu Indexy pro urychlení MySQL dotazů