sql >> Database >  >> RDS >> Mysql

Hoe tabellen vooraf in de INNODB-bufferpool te laden met MySQL?

Dit zou u een lijst met uit te voeren query's moeten geven;)

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

U kunt het in de opgeslagen procedure plaatsen en met de cursor over de resultatenset gaan. Maak een voorbereide instructie van elke rij en voer deze uit.



  1. Onze nieuwe SQLPerformance.com nieuwsbrief

  2. php-beperkingsschending Fout 1452

  3. Django + MySQL op Mac OS 10.6.2 Snow Leopard

  4. Mysql Hoe maak je een geclusterde index?