参数名 | 动态 | 类型 | 默认 | 参数值范围 | 说明 |
innodb_txsql_independent_buffer_pool_evict_interval | yes | ulong | 50 | 0-50 | 后台线程主动淘汰 CLOCK list 的时间单位,越小 CLOCK list 页面在内存中驻留越久,设置为0可以快速清空 CLOCK list。 |
innodb_txsql_independent_buffer_pool_list_move_action | yes | ulong | 0 | 0-2 | CLOCK list 页面被正常 query 读到后的行为:0代表不做任何变化;1代表同步移动到 LRU list;2代表异步移到到 LRU list,移动操作交给后台线程。 |
innodb_txsql_independent_buffer_pool_size_pct | yes | ulong | 5 | 1-100 | 隔离 BP 能使用的 BP 最大比例。比例越高,对正常 query 的影响越大,但是类全表扫描的操作效果越高。 |
innodb_txsql_independent_buffer_pool_users | yes | string | nullptr | | 通过指定用户的方式使用 BP 隔离,具体配置方式为"user1@ip1;user2@ip2"。 |
innodb_txsql_independent_buffer_pool_enabled | yes | bool | ON | ON/OFF | buffer pool 隔离的开关,关闭后不会再有新的页面进入隔离空间,旧的隔离页面将尽快淘汰。 |
innodb_txsql_independent_buffer_pool_max_expire_minutes | yes | bool | 120 | 1-1440 | CLOCK list 页面在 BP 隔离中最大淘汰时间。控制逻辑:use_times 代表页面的活跃度,是 CLOCK 算法的一个重要指标:页面每次被读取则将其加1,后台线程每隔一个时间单位将所有页面的 use_times 减1。innodb_txsql_independent_buffer_pool_max_expire_minutes 用于控制 use_times 的上限。 |
参数 | 类型 | 说明 |
txsql_independent_buffer_pool_usage_counts | longlong | 使用 BP 隔离的 SQL 数量。 |
/*+ independent /
,例如:select /*+ independent */ id from t;
需要注意的是将/*+ independent */
加在非前述的任意位置皆无法触发对 BP 隔离的使用,例如:select id /*+ independent */ from t;
。show detail processlist;
中新增 Independent_buffer_pool_session 状态来表示连接是否默认使用 BP 隔离。
本页内容是否解决了您的问题?