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

Dlaczego to zapytanie MySQL się zawiesza?

Bo ktoś zablokował jeden ze stołów lub jeden rząd. Może się to zdarzyć, na przykład, jeśli wyłączyłeś automatyczne zatwierdzanie (abyś mógł wycofać swoje modyfikacje) w sesji i zapomniałeś tam zatwierdzić.

Ten dokument może pomóc.

[EDYTUJ] Po wysłaniu definicji tabel widać, że typy dwóch kolumn sprzężenia są różne. Teraz pytanie brzmi:jaki typ będzie rzutowany w górę/w dół po uruchomieniu zapytania? W Twoim przypadku lepszym rozwiązaniem może być przesyłanie typu PAYMENT_TRANSACTION_LOG_ID na varchar , zwłaszcza jeśli masz indeks na TRANSACTION_ID (które należy utworzyć dla tego zapytania).

W ten sposób kilka wierszy (lub nawet jeden) z tabeli tbl_order_head zostanie wybrany, a następnie nastąpi szybkie wyszukiwanie w tabeli tbl_orders_log . Bez tego baza danych załaduje wszystkie rekordy z tabeli dziennika i sprawdzi każdy rekord pod kątem dopasowania w znalezionych nagłówkach kolejności (plus przerzucenie każdego identyfikatora na typ w nagłówku itp.).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Włącz obsługę silnika pamięci masowej MySQL InnoDB podczas instalacji XAMPP

  2. Optymalizacja zapytania MySQL z wieloma lewymi sprzężeniami

  3. Skrypt importu CSV do Mysql w celu dopasowania pól

  4. Dlaczego AES_DECRYPT zwraca wartość null?

  5. Wartość wejściowa w tablicy wstawia pusty rekord w mysql