我正在对 MySQL 进行一些测试,并且是我正在尝试做的事情的新手。我想知道填充 innodb 缓冲池的好策略。我在想做太多的插入应该完成任务。如果有人可以确认它会很高兴。
谢谢!
我正在对 MySQL 进行一些测试,并且是我正在尝试做的事情的新手。我想知道填充 innodb 缓冲池的好策略。我在想做太多的插入应该完成任务。如果有人可以确认它会很高兴。
谢谢!
你说的是对的,但是在阅读了innodb用来操作缓冲池的策略之后,就在于LRU算法。为了更方便地使用缓冲池,您要做的就是预热缓冲池中的数据。因为 innodb 引擎从缓冲池中频繁使用的数据将是年轻的数据,或者您可以说将驻留在缓冲池的预热部分中的数据。
Internet 上有许多脚本可以使用 LRU 算法来预热缓冲池。
当涉及到innodb_buffer_pool的内存分配时,您应该将其设置为操作系统中运行的其他进程不会变慢的最佳大小,总之应该有足够的内存用于操作系统的本机进程。
如果您将更多的内存分配给缓冲区,则存在页面错误的风险,因为操作系统的本机进程可用的内存不足。
一个非常简单的方法是分配一个足够大的缓冲池,创建一个仅包含一个字符串的简单表,然后将 LOAD DATA INFILE 与包含许多随机生成的字符串的文件一起使用。这样做会填满缓冲池。