Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Что лучше и быстрее для поиска в строке: LIKE vs PATINDEX?  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 1547
В частности, надо найти все записи, у которых есть факт: подстрока с конкретным айпиадресом
Что быстрее на большой таблице?
20 мар 17, 17:22    [20314947]     Ответить | Цитировать Сообщить модератору
 Re: Что лучше и быстрее для поиска в строке: LIKE vs PATINDEX?  [new]
Wlr-l
Member

Откуда:
Сообщений: 429
Ролг Хупин,

Для поиска конкретного айпиадреса функции не нужны!
20 мар 17, 17:46    [20315018]     Ответить | Цитировать Сообщить модератору
 Re: Что лучше и быстрее для поиска в строке: LIKE vs PATINDEX?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 3758
Ролг Хупин
В частности, надо найти все записи, у которых есть факт: подстрока с конкретным айпиадресом
Что быстрее на большой таблице?

если коротко - одинаково. на тесте так вобще по IO полностью одинаковые значения на таблице в 100М записей
а вообще в гугле разнообразие "like vs patindex performance"
20 мар 17, 17:49    [20315027]     Ответить | Цитировать Сообщить модератору
 Re: Что лучше и быстрее для поиска в строке: LIKE vs PATINDEX?  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 1547
Wlr-l
Ролг Хупин,

Для поиска конкретного айпиадреса функции не нужны!


Да, конкретный адрес.

Видимо, я торможу....не понял, а как без функций искать подстроку в поле?
20 мар 17, 17:54    [20315041]     Ответить | Цитировать Сообщить модератору
 Re: Что лучше и быстрее для поиска в строке: LIKE vs PATINDEX?  [new]
MacaronicTragedy
Member

Откуда:
Сообщений: 99
Вот интересная ветка
http://stackoverflow.com/questions/8052425/sql-string-comparison-speed-like-vs-patindex

у участников переписки PATINDEX получился быстрее. Но я б на твоем месте погонял скрипты и так и так и смотрел на планы выаолнения + set statistics IO on + set statistics time on
20 мар 17, 17:55    [20315049]     Ответить | Цитировать Сообщить модератору
 Re: Что лучше и быстрее для поиска в строке: LIKE vs PATINDEX?  [new]
Wlr-l
Member

Откуда:
Сообщений: 429
Ролг Хупин,

Я пошутил, так же как и вы с транзакцией в соседнем топике.
20 мар 17, 17:56    [20315050]     Ответить | Цитировать Сообщить модератору
 Re: Что лучше и быстрее для поиска в строке: LIKE vs PATINDEX?  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 1547
Wlr-l
Ролг Хупин,

Я пошутил, так же как и вы с транзакцией в соседнем топике.


yes!
20 мар 17, 17:58    [20315060]     Ответить | Цитировать Сообщить модератору
 Re: Что лучше и быстрее для поиска в строке: LIKE vs PATINDEX?  [new]
iap
Member

Откуда: Москва
Сообщений: 44832
В LIKE можно использовать escape-символ, а в PATINDEX - нет.
21 мар 17, 10:56    [20316547]     Ответить | Цитировать Сообщить модератору
 Re: Что лучше и быстрее для поиска в строке: LIKE vs PATINDEX?  [new]
LSV
Member

Откуда: Киев
Сообщений: 30083
Думаете в движке реализованы два алгоритма поиска подстроки ? :)
21 мар 17, 11:52    [20316929]     Ответить | Цитировать Сообщить модератору
 Re: Что лучше и быстрее для поиска в строке: LIKE vs PATINDEX?  [new]
MacaronicTragedy
Member

Откуда:
Сообщений: 99
LSV,

like и full text search ))
21 мар 17, 11:54    [20316949]     Ответить | Цитировать Сообщить модератору
 Re: Что лучше и быстрее для поиска в строке: LIKE vs PATINDEX?  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 1547
MacaronicTragedy
LSV,

like и full text search ))


ну, FTS - это не совсем поиск подстроки в поле, точнее "совсем не", только в частности
21 мар 17, 11:56    [20316958]     Ответить | Цитировать Сообщить модератору
 Re: Что лучше и быстрее для поиска в строке: LIKE vs PATINDEX?  [new]
MacaronicTragedy
Member

Откуда:
Сообщений: 99
Ролг Хупин,

не совсем верно выразился. contains, который используется в FTS (в простейшем своем применении) и like достаточно похожи.
21 мар 17, 12:07    [20317050]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить