Forum Webscript.Ru
Общие => Базы данных => Тема начата: Alexandr от 07 Августа 2002, 18:17:45
-
Т.е.
Вот такая конструкция
SELECT * FROM my_table WHERE col_1 LIKE \'%молоко%\' AND col_1 LIKE \'%банка%\' AND col_1 LIKE \'%сгущёное%\';
или подобная конструкция сделанная спомощью RLIKE?
Кстати помогите саму конструкцию сделать...
-
То есть, тебе надо найти записи, в которых есть все три слова, но в любых положениях - "банка молоко сгущенное", "сгущенное молоко банка" ... - и так далее?
-
Вообще, регулярные выражения работают медленнее простого поиска. Следовательно, RLIKE будет работать медленнее
-
В общем, да.
Особенно, если учесть, что при использовании вышеприведенного запроса, если муська не найдет в строке слово "молоко", то она перестанет проверять остальные условия where, а при rlike придется проверять весь паттерн.
Так что, Александр, не заморочивайся. Есть много других, более важных задач.
-
Вообще, регулярные выражения работают медленнее простого поиска.
Однако, они специально созданы для сложных выборок.Так что, Александр, не заморочивайся. Есть много других, более важных задач.
Каких таких? Мне надо быстрый поиск сделать.
И насчёт:Кстати помогите саму конструкцию сделать...
Не подскажите. Я бы потестил.
[OFF]RomiKChef, где пропадал-то, отдыхал что ли. Без тебя на форуме скучновато было.[/OFF]
-
Нет, регулярные выражения служат не для сложных выборок, а для работы с текстами.
Для сложных выборок служит структура базы, запроса, и индексов.
Почему лайк будет быстрее, я тебе написал уже.
-
Ясно.
Но может всё таки напишите регу. Охота потестить.