Добрый день, как можно упростить поиск, может кто подскажет. Есть таблица

с колонками
col1 col2 и col3 - они все текстовые(varchar 512)

Нужно поиск где будет искаться соответствие на все колонки, например

OR (CONCAT(col1,col2,col3) = 'XS-S9209489386330921971530021286')

можно как объединить их так и разделить.

сложность в том, что между ними всегда идёт OR.

т.е. в условия получается около 6000-7000 таких строк

OR (CONCAT(col1,col2,col3) = 'одиндватри')
или подобных
OR (col1 = 'один' AND col2='два' AND col='три')


индекс делал такой

CREATE INDEX tmp ON sales (col1, col2,col3);

и потом с ним же выборку делал
SELECT * FROM sales USE INDEX (tmp) WHERE

но всё равно получается очень тяжёлая.

что в таком случае можно сделать?

7 ответов

13 просмотров

Ты лучше звездочку в селекте убери. Из описания не совсем ясно в чем проблема и что у тебя не получается

А какой смысл в таком запросе ?

Ни твой индекс, ни способ поиска для нормальных запросов категорически не годится.

Andrey-Sokolov Автор вопроса

получается так SELECT col1, col2,col3 FROM t1 WHERE date BETWEEN ... нужно теперь из того что вышло, найти полное соответствие в t2 у которых есть такие же колонки и в итоге у нас будет t1(count*) / t2(count). Сейчас сделал уже через доп. столбец. Но интерересно как сделать без него можно было

что такое t2 ?

Если ты уже сдела, я буду только рад , что не надо тебе объяснять как сделать не через жопу то, что тебе надо...

Andrey-Sokolov Автор вопроса

но интересно всё же. потому как сейчас доп поля сделал, это не всегда можно сделать

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

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

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Привет!) Кто как юзает переменные в строках?) Чисто ради интереса Вот так: echo "У меня {$bananasAmount} бананов"; Или вот так: echo "У меня ${bananasAmount} бананов";
Виталий
3
Карта сайта