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

Pomalý dotaz MySQL - Čekání na zámek mezipaměti dotazů

Vyřešil jsem problém s pomalým dotazem. Abychom problém shrnuli, dotaz na 7000 řádků z 20miln řádkové, 1,7GB indexované tabulky trvalo 22 sekund. Problém byl v tom, že cache byla příliš malá a dotaz musel jít na disk pro každý dotaz. Domníval bych se, že přístup na disk by byl rychlejší, než jsem viděl, protože jsem vycházel z indexovaného sloupce, takže množství dat načtených z disku by mělo být malé. Ale předpokládám, že s přístupem k úložišti InnoDB na disku je spousta režií.

Jakmile nastavím innodb_buffer_pool_size=1024M v souboru my.ini by počáteční dotaz trval dlouho, ale všechny následující dotazy by skončily za méně než sekundu.

Bohužel, profilování opravdu nepomohlo.



  1. 4 Funkce pro formátování čísla na 2 desetinná místa v SQL Server

  2. Jak číst všechny řádky z velké tabulky?

  3. Deaktivace účtu SA v SQL Server (příklad T-SQL)

  4. Sails se nemůže připojit k mySql