`_id` String,
`title` String,
`p1` Int64,
INDEX title_ngram_index title TYPE ngrambf_v1(3, 10240, 1, 0) GRANULARITY 1
) ENGINE = ReplacingMergeTree() PARTITION BY substring(_id, 1, 1)
ORDER BY
(_id) SETTINGS index_granularity = 8192
Делаю из нее выборку
WITH
2 AS distance,
['Bost'] AS pattern,
multiSearchFirstPositionCaseInsensitive(title, pattern) AS mSearchPosCaseInsensitive,
ngramSearchCaseInsensitive(title, pattern[1]) AS ngSearchCaseInsensitive
SELECT
title,
mSearchPosCaseInsensitive,
ngSearchCaseInsensitive
FROM test_table
WHERE multiFuzzyMatchAny(title, distance, pattern)
limit 25
запрос читает 700к строк
но как только появляется order by, то сразу количество строк становится равным размеру таблицы
в какую сторону копать?
как ты отсортируешь без полного чтения таблицы?
если эта сортировка всегда есть и так важна можно ее пихнуть в начало ORDER BY
Обсуждают сегодня