sql >> Databasteknik >  >> RDS >> Mysql

Varför hänger denna MySQL-fråga?

För att någon har låst ett av borden eller en enda rad. Detta kan till exempel hända om du har inaktiverat automatisk commit (så att du kan återställa dina ändringar) i en session och glömt att commit där.

Detta dokument kan hjälpa.

[EDIT] Efter att du lagt upp tabelldefinitionerna kan du se att typerna av de två sammanfogningskolumnerna är olika. Nu är frågan:Vilken typ kommer att upp-/nedkastas när du kör frågan? I ditt fall kan det vara bättre att casta typen PAYMENT_TRANSACTION_LOG_ID till varchar , särskilt om du har ett index på TRANSACTION_ID (som du bör skapa för den här frågan).

På så sätt, några rader (eller till och med en enda) från tabellen tbl_order_head kommer att väljas och sedan sker en snabbsökning i tabellen tbl_orders_log . Utan detta kommer databasen att ladda alla poster från loggtabellen och kontrollera varje post för en matchning i de hittade ordningshuvudena (plus att casta varje ID till typen i rubriken, etc).



  1. hur man ändrar api_token kolumn i token guard

  2. Olika värden räknas i samma kolumn

  3. returnera alla kolumner i en MySQL-tabell i ett strängformat

  4. HikariCP för många anslutningar