Асинхронное чтение данных
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 (по умолчанию — число ядер CPU, которое ClickHouse видит на узле, выполняющем запрос
- Проверьте конвейер выполнения запроса со стандартным числом потоков и для чтения, и для обработки данных
- Проверьте конвейер запроса с 60 потоками асинхронного чтения и числом потоков по умолчанию для остальной части конвейера выполнения запроса
- Проверьте конвейер выполнения запроса с 20 потоками для чтения и обработки данных
- Проверьте конвейер запроса: 60 потоков для асинхронного чтения и 20 — для остальной части конвейера выполнения запроса
- Проверьте конвейер запроса с 60 асинхронными потоками чтения и 20 потоками для остальной части выполнения запроса,
когда можно применить оптимизацию
optimize_read_in_order optimization