非同期データ読み取り
max_streams_for_merge_tree_reading 設定ほどの効果は得られませんでした
optimize_read_in_order はどうでしょうか?
optimize_read_in_order 最適化は非同期読み取りより優先されます
optimize_read_in_order 最適化 を適用できると判断した場合、allow_asynchronous_read_from_io_pool_for_merge_tree 設定は無視され、無効化されます。
上記すべてを示す例
- UK Property Price Paid テーブルを作成してロードします
- max_threads の設定値を確認します (デフォルトでは、クエリを実行しているノード上で ClickHouse が認識している CPU コア数
- データの読み取りと処理の両方で、デフォルトのスレッド数を使用したクエリパイプラインを確認する
- 60 個の非同期読み取りスレッドを使用し、クエリ実行パイプラインの残りの部分にはデフォルトのスレッド数を使用するクエリパイプラインを確認する
- データの読み取りと処理の両方で20スレッドを使用するクエリパイプラインを確認する
- 60個の非同期読み取りスレッドと、クエリ実行パイプラインの残りの処理用に20個のスレッドを持つクエリパイプラインを確認する
optimize_read_in_order optimizationを適用できる場合の、 60 個の非同期読み取りスレッドと、クエリ実行パイプラインの残りの処理用の 20 個のスレッドからなるクエリパイプラインを確認する