Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wykonywanie zapytania MySQL SELECT * równolegle

MySQL umożliwia wiele połączeń od jednego użytkownika lub wielu użytkowników . W ramach tego jednego połączenia używa co najwyżej jednego rdzenia procesora i wykonuje jednorazowo jedno polecenie SQL.

„Transakcja” może składać się z wielu instrukcji SQL, podczas gdy transakcja jest traktowana jak atomowo. Rozważ klasyczną aplikację bankową:

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

Instrukcje te są wykonywane szeregowo (w jednym połączeniu); albo wszystkim się udaje, albo wszystkie zawodzą jako jednostka ("atomowo").

Jeśli chcesz robić rzeczy „równolegle”, miej klienta (lub klientów), który może uruchamiać wiele wątków (lub procesów) i każdy z nich nawiązuje własne połączenie z MySQL.

Niewielki wyjątek:istnieją dodatkowe wątki „pod okładkami” do wykonywania zadań w tle, takich jak odczyt z wyprzedzeniem, opóźniony zapis lub opróżnianie. Ale to nie dać użytkownikowi możliwość „robienia dwóch rzeczy naraz” w jednym połączeniu.

To, co tutaj powiedziałem, dotyczy wszystkich wersji MySQL/MariaDB i wszystkich pakietów klienckich uzyskujących do nich dostęp.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę wybrać * z tabeli w MySQL, ale pominąć niektóre kolumny?

  2. Jak zdefiniować liczbę całkowitą bez znaku w SQLAlchemy?

  3. Definiowanie klucza złożonego z automatycznym przyrostem w MySQL

  4. Jak zmienić tabelę MySQL na UTF-8?

  5. Wiele zapytań MYSQL a wiele pętli php foreach