# TiFlashの主な機能：エンジンスマートセレクション

![`smart`](TiFlashSmartSelection_aa_004_20220513.png)

-------------------------------------------------------------
TiDBサーバーは、コーディネーターとして、クエリ文を評価し、図に示すように、TiKVまたはTiFlashのいずれか、または両方でクエリを実行するかを自動的に決定することができます。

`product`テーブルはカラムを取らないため、`product.batch_id = 'B1328'`の条件のみでフィルタリングし、`product`テーブルには`(pid,batch_id)`のインデックスがあるため、TiKVでインデックス読み取りを選択し、条件を満たす`product`テーブルのデータをフィルタリングすることが可能です。

`price`のカラムを`sales`から取り出してフィルター条件なしで集計（AVG）を行うことは、フルテーブルスキャンと同等であるため、TiFlashでテーブルスキャンを行うほうがより適しています。

最後に、TiDBサーバー上の条件を満たす2つのデータパスを集約して結果を得ます。
