У меня есть приложение для электронной коммерции, использующее MySQL, и я бы хотел, чтобы оно было быстрее.При обращении к части # на веб-сайте, к которому ранее обращались, эта часть быстро загружается, поскольку все необходимые данные уже находятся в пуле буферов INNODB.Однако, если part # никогда не загружался ранее, эти данные еще не находятся в пуле буферов, поэтому их нужно читать с диска, и это медленно.Я установил буферный пул INNODB на 2 ГБ, а вся эта база данных - всего около 350 МБ, так что есть достаточно места для загрузки всей базы данных в пул буферов.Из статистики INNODB я вижу, что сейчас используется только около половины пула буферов.
Я нашел ссылки на предварительную загрузку данных, также известную как «прогрев» пула буферов, такой как Быстрая предварительная загрузка таблиц Innodb в пул буферов или mysqldump.azundris.com/archives/70-Innodb-cache-preloading-using-blackhole.html.Стратегия в основном предусматривает принудительное сканирование таблицы для каждой таблицы, поскольку MySQL не имеет встроенного способа предварительной загрузки данных.
Я не хочу вручную создавать сценарий, который перечисляет каждую отдельную таблицу в моей базе данных идолжен сделать это.Как я могу создать сценарий, который автоматически выполняет выбор для каждой таблицы и автоматически выбирает неиндексированный столбец, чтобы выполнить сканирование таблицы?