プッシュダウンの式のリスト
TiDB は TiKV からデータを読み取る際に、処理するいくつかの式 (関数や演算子の計算を含む) を TiKV にプッシュダウンしようとします。これにより、転送されるデータの量が削減され、単一の TiDB ノードから処理がオフロードされます。このドキュメントでは、TiDB がすでにプッシュダウンをサポートしている式と、ブロックリストを使用して特定の式のプッシュダウンを禁止する方法を紹介します。
TiFlash は関数と演算子のプッシュダウンもサポートしていますこのページに記載されている 。
注記:
Aggregate関数は、 ウィンドウ関数として使用される場合、 TiKV へのプッシュダウンをサポートしません。
TiKVへのプッシュダウンでサポートされている式
ブロックリストの特定の表現
サポートされている表現または特定のデータ型( ENUM
型とBIT
タイプのみ)をプッシュダウンしたときに計算処理で予期しない動作が発生する場合は、該当する関数、演算子、またはデータ型のプッシュダウンを禁止することで、アプリケーションを迅速に復旧できます。具体的には、関数、演算子、またはデータ型をブロックリストmysql.expr_pushdown_blacklist
に追加することで、プッシュダウンを禁止できます。詳細については、 ブロックリストに追加を参照してください。