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

Proč se tento dotaz MySQL zablokuje?

Protože někdo zamkl jednu z tabulek nebo jeden řádek. To se může stát například tehdy, pokud jste v relaci zakázali automatické odevzdání (abyste mohli své úpravy vrátit zpět) a zapomněli jste provést odevzdání.

Tento dokument může pomoci.

[EDITACE] Po odeslání definic tabulek můžete vidět, že typy dvou sloupců spojení se liší. Nyní otázka zní:Který typ bude přetypován nahoru/dolů, když spustíte dotaz? Ve vašem případě může být lepší odeslat typ PAYMENT_TRANSACTION_LOG_ID na varchar , zvláště pokud máte index na TRANSACTION_ID (který byste měli vytvořit pro tento dotaz).

Tímto způsobem bude několik řádků (nebo dokonce jeden) z tabulky tbl_order_head bude vybrán a poté proběhne rychlé vyhledání v tabulce tbl_orders_log . Bez toho databáze načte všechny záznamy z tabulky protokolů a zkontroluje shodu každého záznamu v záhlaví nalezených objednávek (plus přetypování každého ID na typ v záhlaví atd.).



  1. Jak odstranit z více tabulek v MySQL?

  2. php imap - získejte tělo a vytvořte prostý text

  3. Upozornění:mysql_fetch_array() očekává, že parametr 1 bude zdrojem, booleovský zadaný v

  4. Cloud 9 IDE se nemůže připojit k databázi