sql >> Databáze >  >> RDS >> Mysql

Paralelní provádění dotazu MySQL SELECT *

MySQL umožňuje mnoho připojení od jednoho uživatele nebo mnoho uživatelů . V rámci tohoto připojení používá nejvýše jedno jádro CPU a současně provádí jeden příkaz SQL.

"Transakce" se může skládat z více příkazů SQL, zatímco je transakce zpracována jako atomově. Zvažte klasickou bankovní aplikaci:

BEGIN;
UPDATE ...  -- decrement from one user's bank balance.
UPDATE ...  -- increment another user's balance.
COMMIT;

Tyto příkazy se provádějí sériově (v jediném připojení); buď všechny uspějí, nebo všechny selžou jako celek ("atomicky").

Pokud potřebujete dělat věci „paralelně“, mějte klienta (nebo klienty), kteří mohou spouštět více vláken (nebo procesů) a každé mít vlastní připojení k MySQL.

Menší výjimka:„Pod krytem“ jsou nějaká další vlákna pro provádění úloh na pozadí, jako je čtení napřed, zpožděný zápis nebo vyprázdnění. Ale to není dát uživateli způsob, jak „dělat dvě věci najednou“ v jednom připojení.

To, co jsem zde řekl, platí pro všechny verze MySQL/MariaDB a všechny klientské balíčky, které k nim přistupují.




  1. Nelze nainstalovat pg gem na Windows

  2. ETL vs ELT:Posuzujeme, vy soudce

  3. Vyberte pouze poslední hodnotu pomocí group by na mysql

  4. Jak najít mezery v sekvenčním číslování v mysql?