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

Jak předem načíst tabulky do vyrovnávací paměti INNODB s MySQL?

To by vám mělo poskytnout seznam dotazů ke spuštění;)

SELECT 
  CONCAT('SELECT ',MIN(c.COLUMN_NAME),' FROM ',c.TABLE_NAME,' WHERE ',MIN(c.COLUMN_NAME),' IS NOT NULL')
FROM
  information_schema.COLUMNS AS c
LEFT JOIN (
  SELECT DISTINCT
    TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME
  FROM
    information_schema.KEY_COLUMN_USAGE
) AS k
USING
  (TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME)
WHERE
  c.TABLE_SCHEMA = 'yourDatabase'
  AND k.COLUMN_NAME IS NULL
GROUP BY
  c.TABLE_NAME

Můžete to vložit do uložené procedury a přejít přes sadu výsledků kurzorem. Vytvořte připravený příkaz z každého řádku a proveďte jej.



  1. Základy a použití nápovědy NOLOCK v SQL Server

  2. Co musím při odesílání dotazu uniknout?

  3. jak získat obrázek z výkresu podle jejich jmen v databázi sqlite a poté jej zobrazit v zobrazení seznamu

  4. Zrušte pivot s názvem sloupce