Эти настройки доступны в system.settings и автоматически генерируются на основе исходного кода.
read_in_order_two_level_merge_threshold
Минимальное количество частей, которое нужно прочитать для запуска этапа предварительного слияния при многопоточном чтении в порядке первичного ключа.
read_in_order_use_buffering
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 24.7 | 1 | Использовать буферизацию перед слиянием при чтении в порядке первичного ключа |
Использовать буферизацию перед слиянием при чтении в порядке первичного ключа. Это повышает параллелизм выполнения запроса.
read_in_order_use_virtual_row
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.8 | 1 | Включить оптимизацию виртуальной строки по умолчанию. При чтении в порядке первичного ключа по множеству частей она позволяет `MergingSortedTransform` менять приоритет источников, используя значения первичного ключа из разреженного индекса, поэтому части, не относящиеся к запросу, не читаются, а ограниченное окно предварительного чтения размером не более `max_threads` частей сохраняет параллельность чтения. Это значительно снижает пиковое потребление памяти (см. https://github.com/ClickHouse/ClickHouse/issues/52624). |
| 24.11 | 0 | Использовать виртуальную строку при чтении в порядке первичного ключа или его монотонной функции. Это полезно при поиске по нескольким частям, поскольку затрагиваются только релевантные из них. |
Использовать виртуальную строку при чтении в порядке первичного ключа или его монотонной функции. Это полезно при поиске по нескольким частям, поскольку читаются только те части, которые действительно могут повлиять на результат, а ограниченное окно предварительного чтения размером не более max_threads частей сохраняет параллельность чтения.
read_in_order_use_virtual_row_per_block
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.4 | 0 | Выводить виртуальную строку после каждого блока при чтении в порядке сортировки, чтобы источники могли чаще переприоритизироваться в MergingSortedTransform. |
Если этот параметр включен вместе с read_in_order_use_virtual_row, после чтения каждого блока выводится виртуальная строка (а не только в начале каждой части).
Это позволяет MergingSortedTransform чаще переприоритизировать источники, что полезно, когда нижестоящие фильтры отбрасывают много строк, а данные распределены по частям неравномерно.
Обратите внимание, что при этом отключается оптимизация read_in_order_use_buffering и предварительное слияние (read_in_order_two_level_merge_threshold) при чтении.