mysql> show variables like '%innodb_buffer_pool_size';
+-------------------------+-----------+
| Variable_name | Value |
+-------------------------+-----------+
| innodb_buffer_pool_size | 134217728 |
+-------------------------+-----------+
1 row in set (1.01 sec)
InnoDB存储引擎设置缓冲池大小,命令如下:
powershell复制代码
mysql> set global innodb_buffer_pool_size=268435456;
Query OK, 0 rows affected (0.45 sec)
mysql> show variables like '%innodb_buffer_pool_size';
+-------------------------+-----------+
| Variable_name | Value |
+-------------------------+-----------+
| innodb_buffer_pool_size | 268435456 |
+------------------------
在Buffer Pool 特别大并且多线程并发访问特别高时,可以将Buffer Pool 拆分成若干个小的Buffer Pool ,每个Buffer Pool称为一个实例。
每个实例都是独立的去申请内存空间,独立的管理各种链表。
查看缓冲池的个数,执行命令如下:
powershell复制代码
mysql> show variables like '%innodb_buffer_pool_instances%';
+------------------------------+-------+
| Variable_name | Value |
+------------------------------+-------+
| innodb_buffer_pool_instances | 1 |
+------------------------------+-------+
1 row in set (0.00 sec)
对Buffer Pool拆分,可以在配置文件中配置 具体启动选项,如:
powershell复制代码
[root@rqtanc ~]# vim /etc/my.cnf
[server]
innodb_buffer_pool_instances=2