tencent cloud

TDSQL-C for MySQL

動向とお知らせ
製品アップデート
製品お知らせ
初心者ガイド
製品概要
プロダクト概要
製品の強み
適用シーン
製品アーキテクチャ
製品仕様
インスタンスタイプ
製品機能一覧
データベースのバージョン
リージョンとアベイラビリティゾーン
基本概念
利用制限
利用ガイドの推奨事項
自社開発カーネル
カーネル概要
カーネルバージョンのアップデート情報
カーネル最適化バージョン
機能特性
パフォーマンス関連機能
セキュリティカテゴリの機能
安定性機能
分析エンジン特性
カーネル問題のチェックと修復
購入ガイド
課金概要
製品価格
クラスタを作成する
構成変更説明
未払いについての説明
継続支払いの説明
返金ポリシー
従量課金から年/月単位サブスクリプションへの変換
従量課金からServerlessへの変換
付加価値サービスの課金説明
料金請求書の確認
クイックスタート
データベース監査
概要
監査インスタンス一覧
監査サービスを有効化する
監査ログの確認
ログ配信
事後アラーム設定
監査ルールの変更
監査サービスを変更する
監査サービスを停止する
監査ルールテンプレート
監査タスクの照会
サブユーザーへのデータベース監査利用権限付与
Serverlessサービス
Serverless入門
サーバーレス版クラスタの作成と管理
伸縮性スケーリング管理ツール
Serverlessリソースパック
マルチAZデプロイ
設定を変更する
よくあるご質問
Serverlessコスト見積ツール
操作ガイド
操作概要
コンソールでのクラスタページビューの切り替え
データベース接続
インスタンス管理
設定を変更する
インスタンス形態管理
クラスタ管理
読み取り専用インスタンス管理 
データベースプロキシ
アカウント管理
DMC
DMC(データベース管理ツール)
パラメータ設定
マルチAZデプロイ
グローバルデータベース
バックアップとリストア
操作ログ
データマイグレーション
パラレルクエリ
列ストレージインデックス CSI
分析エンジン
データベースセキュリティと暗号化
モニタリングとアラーム
SQLの基本操作
以下のコマンドを実行して、TDSQL-C for MySQLに接続してログインします
Tag
実践チュートリアル
TDSQL-C for MySQL データベース監査の等級保護実践
非InnoDBテーブル問題のワンクリック移行検出処理方法
DTSによるデータベースバージョンのアップグレード MySQL 5.7から8.0へ
TDSQL-C for MySQL 使用規範
新版コンソール
データベースプロキシの複数接続アドレスによる複数ROグループの実現
データベースプロキシのメリット
ストレージの課金モードの選び方
DTSによるリモートディザスタリカバリの構築
クラスタ用VPCの作成
データ復旧の方法
CPU使用率の高騰問題の解決方法
サブユーザーへの監視データ閲覧権限付与方法
ホワイトペーパー
セキュリティホワイトペーパー
性能ホワイトペーパー
トラブルシューティング
接続関連
性能関連
よくあるご質問
基本概念
購入と課金
サポートされるフォーマット
接続とネットワーク
機能特性
コンソールの操作
データベーステーブル
パフォーマンスとログ
データベース監査
TDSQL-C for MySQLとTencentDB for MySQLの違い
関連契約
SLA
利用規約
TDSQL-C ポリシー
プライバシーポリシー
データ処理と安全プロトコル
汎用参考
標準と認証
用語一覧
お問い合わせ

buffer pool分離

PDF
フォーカスモード
フォントサイズ
最終更新日: 2025-12-30 16:14:39

機能説明

Innodbのバッファプール(BP)は、midpointに新しいページを挿入する方式で、フルテーブルスキャンなどの操作によるBPの悪影響を可能な限り回避しますが、効果は限定的です。BPの性能をさらに向上させるため、本機能はBP内に独立した領域を設定し、フルテーブルスキャン類似の操作専用に使用することをサポートします。フルテーブルスキャン操作が存在しない場合、この領域は通常のLRUリストによって完全に使用されます。フルテーブルスキャン操作が存在する場合、CLOCK置換アルゴリズムによってこの領域を管理し、データページの物理的な分離によって、フルテーブルスキャン類似操作によるBPの汚染を防止します。

サポートバージョン

カーネルバージョン TXSQL 8.0 3.1.15 以降です。

適用シーン

頻繁にデータベースでフルテーブルスキャンと大規模なデータ操作を実行する必要があるシナリオに適用されます。

使用説明

パラメータ説明

パラメータ名
動的
タイプ
デフォルト
パラメータ値の範囲
説明
innodb_txsql_independent_buffer_pool_evict_interval
yes
ulong
50
0-50
バックグラウンドスレッドがCLOCKリストを積極的に淘汰する時間間隔です。値が小さいほどCLOCKリストのページがメモリ内で長く保持され、0に設定するとCLOCKリストを即時クリアできます。
innodb_txsql_independent_buffer_pool_list_move_action
yes
ulong
0
0-2
CLOCKリストのページが通常のクエリで読み取られた後の動作:0は何も変更しないことを意味します。1はLRUリストへの同期的な移動を意味します。2はLRUリストへの非同期的な移動を意味し、移動操作はバックグラウンドスレッドに委任されます。
innodb_txsql_independent_buffer_pool_size_pct
yes
ulong
5
1-100
分離されたBPが使用可能なBPの最大割合です。割合が高いほど、通常のクエリへの影響が大きくなりますが、フルテーブルスキャン類似の操作の効果が高くなります。
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
バッファプール分離のスイッチです。オフにすると、新しいページが分離領域に入らなくなり、既存の分離ページはできるだけ早く淘汰されます。
innodb_txsql_independent_buffer_pool_max_expire_minutes
yes
bool
120
1-1440
CLOCKリストのページが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の数

BP分離の使用方法1

independentというヒントを使用して、BP隔離を手動でトリガーできます。具体的な使用方法は、DMLのINSERT、DELETE、UPDATEなどのキーワードの直後に/*+ independent */を追加することです。例えば、select /*+ independent */ id from t;の注意点は/*+ independent */を前述以外の任意の位置に追加してもBP分離の使用はトリガーされません。例:select id /*+ independent */ from t;です。

BP分離の使用方法2

innodb_txsql_independent_buffer_pool_users でデフォルトでBP分離を使用するユーザーを設定します。このようなユーザーはBP分離ユーザーと称されます。innodb_txsql_independent_buffer_pool_users でBP分離ユーザーを追加、変更、削除した場合、デフォルトでBP分離を使用する動作は新規接続でのみ有効となり、既存接続の動作には影響しません。トラブルシューティングを容易にするため、show detail processlist;に「Independent_buffer_pool_session」ステータスを追加し、接続がデフォルトでBP分離を使用しているかどうかを表示します。

BP分離とプリペアドステートメント、ストアドプロシージャの関係

プリペアドステートメントおよびストアドプロシージャは、いずれも方法1を通じてBP分離を使用することがサポートされています。
プリペアドステートメント、ストアドプロシージャがBP分離を使用するかどうかは、作成したユーザーに関係なく、実行するユーザーのみに関係します。

BP分離の観察

BP分離機能は、show engine innodb statusにBP分離領域(CLOCKリスト)の監視を追加しました。BUFFER POOL AND MEMORYモジュールにCLOCKリストの長さと分布状況を追加しています。具体的には、use_timesはページのアクティビティ度を表し、CLOCKアルゴリズムの重要な指標です:ページが読み取られるたびにこの値が1増加し、バックグラウンドスレッドは一定時間間隔ごとにすべてのページのuse_timesを1減少させます。use_timesが0になるとページは淘汰またはディスクにフラッシュされます。BUFFER POOL AND MEMORYモジュールでは、use_timesが同じページをグループ化し、[0,10)、[10,100)、[100,1000)、[1000,10000)、[10000,100000)、[100000,unlimited)の6つの範囲に分類しています。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック