admin

如何确定mysql索引是否完全适合内存

sql

有没有一种方法可以确定mysql索引是否完全适合可用内存?如果是这样,我将如何:

  • 确定mysql索引的大小
  • 确定应用程序的可用内存
  • 确定索引是否完全适合内存

阅读 194

收藏
2021-05-10

共1个答案

admin

取决于存储引擎

MyISAM(从.MYI文件缓存索引页)

SELECT FLOOR(SUM(index_length)/POWER(1024,2)) IndexSizesMB
FROM information_schema.tables WHERE engine='MyISAM' AND
table_schema NOT IN ('information_schema','performance_schema','mysql');

从中减去key_buffer_size。如果答案> 0,则是

InnoDB(缓存数据和索引页)

SELECT FLOOR(SUM(data_length+index_length)/POWER(1024,2)) InnoDBSizeMB
FROM information_schema.tables WHERE engine='InnoDB';

从中减去innodb_buffer_pool_size。如果答案> 0,则是

在专用的数据库服务器上,确保InnoDBSizeMB+IndexSizesMB不超过75%的RAM。

2021-05-10