184 похожих чатов

Всем привет! Есть такая таблица ~ (148kk+ rows) CREATE TABLE test_table (

`_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, то сразу количество строк становится равным размеру таблицы
в какую сторону копать?

2 ответов

8 просмотров

как ты отсортируешь без полного чтения таблицы?

если эта сортировка всегда есть и так важна можно ее пихнуть в начало ORDER BY

Похожие вопросы

Обсуждают сегодня

Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
10
Тут кста кто-нибудь NeoVim использует?
Simple Sorcerer
13
А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
А дальше что?.. Записать в файл, потом в Код?.. И потом разбирать как-то?..
Хаскель Моисеевич Гопник
14
доброго времени. db, dw и прочие исполняются при трансляции или при выполнении программы?
lutayyy
10
Почему никто не подсказал, что можно объявить свои типы данных, в которых меньше полей, чем в отданном джейсоне, и добавлять их по необходимости?
Strange Rabbit
10
Хтось використовував Vapor на Windows?
Jaroshevskii
15
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
86
Карта сайта