|
Подобно или проверка на равенство строки |
☑ |
0
smilemanrus
28.03.18
✎
10:40
|
Уважаемые форумчане, хочу поинтересоваться на счет мат.части по поводу подстроки в запросе, что быстрее отработает:
Таблица.Строка ПОДОБНО "%кукареку%"
или я могу сначала получить подстроку Таблица.Строка и буду сравнивать так
втТаблица.Подстрока = &кукареку
Я проверял, у меня вышло, что "ПОДОБНО" быстрее, а почему ?
|
|
1
Cool_Profi
28.03.18
✎
10:41
|
наверное, потому что у тебя поисковых строк 100500 и ты делаешь запрос в цикле по каждой?
|
|
2
smilemanrus
28.03.18
✎
10:44
|
(1) нет, все делалось в запросе, для ясности могу привести код запроса 2-го варианта:
ВЫБРАТЬ
Таблица.Ссылка,
ПОДСТРОКА(Таблица.Наименование, 2, 5) КАК Подстрока
ПОМЕСТИТЬ втТаблица
ИЗ
Таблица КАК Таблица
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
втТаблица.Ссылка,
втТаблица.Подстрока
ИЗ
втТаблица КАК втТаблица
ГДЕ
втТаблица.Подстрока = &Подстрока
|
|
3
Cool_Profi
28.03.18
✎
10:46
|
Зависит от объёмов данныъ
|
|
4
smilemanrus
28.03.18
✎
10:50
|
(3) таблица действительно большая
|
|
5
Волшебник
28.03.18
✎
10:54
|
это будет очень долго
Таблица.Строка ПОДОБНО "%кукареку%"
это будет быстро при наличии индекса
Таблица.Строка ПОДОБНО "кукареку%"
это будет очень быстро при наличии индекса
Таблица.Строка = "кукареку"
|
|
6
smilemanrus
28.03.18
✎
11:01
|
(5) в моём случае оно не индексировано
|
|
7
Волшебник
28.03.18
✎
11:25
|
(6) Проиндексируй
|
|
8
smilemanrus
28.03.18
✎
11:27
|
(7) Отличная идея
|
|
9
hhhh
28.03.18
✎
11:47
|
(8) а если так?
ГДЕ
ПОДСТРОКА(Таблица.Наименование, 2, 5) = &Подстрока
наверно еще быстрее будет. без всяких вт.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший