Parameter Name | Dynamic | Type | Default Value | Valid Values/Value Range | Description |
innodb_txsql_independent_buffer_pool_evict_interval | yes | ulong | 50 | 0-50 | The time unit for a background thread to actively evict pages in a CLOCK list. If the value is smaller, the pages in the CLOCK list will reside longer in memory. Setting it to 0 can quickly clear the CLOCK list. |
innodb_txsql_independent_buffer_pool_list_move_action | yes | ulong | 0 | 0-2 | Behavior after pages in a CLOCK list are read by a normal query. 0 indicates no changes, 1 indicates synchronously moving to an LRU list, and 2 indicates asynchronously moving to an LRU list. The moving operations are handled by a background thread. |
innodb_txsql_independent_buffer_pool_size_pct | yes | ulong | 5 | 1-100 | Maximum proportion of the BP size that can be used for isolation. If the proportion is higher, the impact on normal queries will be greater, but operations like full table scans will be more effective. |
innodb_txsql_independent_buffer_pool_users | yes | string | nullptr | | Specifies users that use BP isolation. The specific configuration format is user1@ip1;user2@ip2. |
innodb_txsql_independent_buffer_pool_enabled | yes | bool | ON | ON/OFF | Enables or disables BP isolation. When BP isolation is disabled, no new pages will enter the isolation space and old isolated pages will be evicted as soon as possible. |
innodb_txsql_independent_buffer_pool_max_expire_minutes | yes | bool | 120 | 1-1440 | Maximum eviction time for pages in a CLOCK list for BP isolation. The control logic is as follows. use_times indicates the activity level of a page and is an important metric in the CLOCK algorithm. Each time a page is read, its use_times is incremented by 1, and a background thread will decrement the use_times of all pages by 1 at intervals of a time unit. innodb_txsql_independent_buffer_pool_max_expire_minutes is used to control the upper limit of use_times. |
Parameter | Type | Description |
txsql_independent_buffer_pool_usage_counts | longlong | Number of SQL statements using BP isolation. |
independent
to manually trigger the use of BP isolation. Specifically, add /*+ independent */
immediately after a keyword such as INSERT, DELETE, or UPDATE of a DML statement, for example, select /*+ independent */ id from t;
. It's important to note that adding /*+ independent */
at any other position cannot trigger the use of BP isolation, for example, select id /*+ independent */ from t;
.show detail processlist;
to indicate whether BP isolation is used by default in a connection.show engine innodb status
. The length and distribution status of a CLOCK list are added into the BUFFER POOL AND MEMORY module. Specifically, use_times indicates the activity level of a page and is an important metric in the CLOCK algorithm. Each time a page is read, its use_times is incremented by 1, and a background thread will decrement the use_times of all pages by 1 at intervals of a time unit. When the use_times of a page reaches 0, the page is either evicted or flushed. In the BUFFER POOL AND MEMORY module, pages are classified by use_times into 6 ranges: [0,10), [10, 100), [100, 1000), [1000, 10000), [10000, 100000), and [100000, unlimited).
Was this page helpful?