Mysql
 sql >> база данни >  >> RDS >> Mysql

Защо тази MySQL заявка виси?

Защото някой е заключил една от масите или един ред. Това може да се случи, например, ако сте деактивирали автоматичното записване (за да можете да връщате промените си) в сесия и сте забравили да извършите ангажимент там.

Този документ може да помогне.

[РЕДАКТИРАНЕ] След като публикувате дефинициите на таблиците, можете да видите, че типовете на двете колони за свързване са различни. Сега въпросът е:Кой тип ще бъде прехвърлен нагоре/надолу, когато стартирате заявката? Във вашия случай може да е по-добре да прехвърлите типа на PAYMENT_TRANSACTION_LOG_ID към varchar , особено ако имате индекс на TRANSACTION_ID (която трябва да създадете за тази заявка).

По този начин няколко реда (или дори един) от таблицата tbl_order_head ще бъде избран и след това се извършва бързо търсене в таблицата tbl_orders_log . Без това базата данни ще зареди всички записи от таблицата с регистрационни файлове и ще провери всеки запис за съвпадение в намерените заглавки на поръчка (плюс прехвърляне на всеки идентификатор към типа в заглавката и т.н.).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Преобразувайте колоната на mysql DATETIME в епохални секунди

  2. Вътрешно присъединяване, вложено в SQL изявление за актуализация

  3. Извеждане с PHP стойността на променлива или предварително дефинирана КОНСТАНТА от MySQL резултатен низ

  4. Заявка за самостоятелно присъединяване към Sql? Как да получите подкатегории на категории?

  5. Данните трябва да бъдат заменени според таблицата за справка