v.23.9Experimental Feature

Parallelized Creation of Annoy Indexes with max_threads_for_annoy_index_creation Setting

The creation of Annoy indexes can now be parallelized using setting max_threads_for_annoy_index_creation. #54047 (Robert Schulze).
The creation of Annoy indexes is now parallelized by using the max_threads_for_annoy_index_creation setting, improving index build performance.

Why it matters

This feature addresses the limitation of single-threaded Annoy index creation, which could be slow for large datasets. By enabling parallelization, it significantly reduces the time required to build Annoy indexes, thereby improving query performance and overall system efficiency.

How to use it

To enable parallel creation of Annoy indexes, set the max_threads_for_annoy_index_creation configuration parameter to the desired number of threads in your ClickHouse server or client settings. For example:

SET max_threads_for_annoy_index_creation = 4;


Then proceed with the normal Annoy index creation process.