What are the ways to optimize the performance of TiFlash?

TiDB version: v7.1.0

What are the ways to optimize the performance of TiFlash like partitions, baskets, bloom filters, etc.?

According to the official documentation, there are several ways to optimize the performance of TiFlash:

  1. Plan resources: If you want to save machine resources and have no requirement on isolation, you can use the method that combines the deployment of both TiKV and TiFlash. It is recommended that you save enough resources for TiKV and TiFlash respectively, and do not share disks.

  2. Tune TiDB parameters: You can improve TiFlash performance by tuning TiDB parameters, including forcibly enabling the MPP mode and pushing down aggregate functions to a position before Join or Union.

  3. TiFlash optimization: TiFlash’s replicas are recommended to be greater than 1 and less than the number of TiKV nodes. You can also adjust the tidb_distsql_scan_concurrency parameter to increase concurrency. It is also recommended to deploy TiFlash nodes independently.

Regarding partitions, baskets, and bloom filters, I couldn’t find any specific information in the official documentation related to TiFlash optimization. However, you can refer to the TiDB documentation for information on how to use these features in TiDB.

Hi, aaarnell.

I think it would be helpful if you could provide a clearer description of your question.

If the request is not by the primary key and not by the partitioned field, will there be a Full Scan? Or are there any optimizations?