Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como pré-carregar tabelas no buffer pool do INNODB com o MySQL?


Isso deve fornecer uma lista de consultas a serem executadas;)
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

Você pode colocá-lo no procedimento armazenado e passar pelo conjunto de resultados com o cursor. Crie uma instrução preparada de cada linha e execute.