У меня есть база данных MySQL innodb на 1.9GB, показанная с помощью следующей команды.
SELECT table_schema "Data Base Name"
, sum( data_length + index_length ) / 1 048 576
as "Data Base Size in MB"
, sum( data_free )/ 1 048 576
as "Free Space in MB"
FROM information_schema.TABLES
GROUP BY table_schema ;
+--------------------+----------------------+------------------+
| Data Base Name | Data Base Size in MB | Free Space in MB |
+--------------------+----------------------+------------------+
| database_name | 1959.73437500 | 31080.00000000 |
Мои вопросы:
Означает ли это, если я установлю innodb_buffer_pool_size на 2 ГБ или больше, вся база данных может быть загружена в память, так что требуется гораздо меньше операций чтения с диска?
Что означает свободное пространство в 31 ГБ?
Если максимальный объем ОЗУ, который может быть выделен для innodb_buffer_pool_size, составляет 1 ГБ, можно ли указать, какие таблицы загружать в память, в то время как другие всегда будут считываться с диска?
Заранее спасибо.