Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Оптимизация like '%чего то там%'  [new]
bloodrain
Member

Откуда:
Сообщений: 107
Поле к которому приминяется такое условие varchar(100), есть ли какие то способы как такое условие оптимизировать? Или только фул скан таблицы?
29 ноя 10, 13:53    [9856212]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация like '%чего то там%'  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
http://www.gotdotnet.ru/blogs/decolores/1914/
29 ноя 10, 14:03    [9856325]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация like '%чего то там%'  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
bloodrain
Поле к которому приминяется такое условие varchar(100), есть ли какие то способы как такое условие оптимизировать? Или только фул скан таблицы?
Ну, некоторый выигрыш можно поиметь, при условии, что число строк при таком отборе невелико, по сравнению с общим числом строк в таблице, перенеся скан всей таблицы на скан индекса, построенному по этому столбцу.
29 ноя 10, 14:09    [9856387]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация like '%чего то там%'  [new]
bloodrain
Member

Откуда:
Сообщений: 107
tpg
bloodrain
Поле к которому приминяется такое условие varchar(100), есть ли какие то способы как такое условие оптимизировать? Или только фул скан таблицы?
Ну, некоторый выигрыш можно поиметь, при условии, что число строк при таком отборе невелико, по сравнению с общим числом строк в таблице, перенеся скан всей таблицы на скан индекса, построенному по этому столбцу.


Я всегда считал что % в начале "уничтожает" возможность использовать индекс, я ошибался?
29 ноя 10, 14:58    [9856924]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация like '%чего то там%'  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
bloodrain
Я всегда считал что % в начале "уничтожает" возможность использовать индекс, я ошибался?
Индекс можно использовать по-разному.
29 ноя 10, 14:59    [9856937]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация like '%чего то там%'  [new]
Glory
Member

Откуда:
Сообщений: 104751
bloodrain
tpg
пропущено...
Ну, некоторый выигрыш можно поиметь, при условии, что число строк при таком отборе невелико, по сравнению с общим числом строк в таблице, перенеся скан всей таблицы на скан индекса, построенному по этому столбцу.


Я всегда считал что % в начале "уничтожает" возможность использовать индекс, я ошибался?

Речь идет о замене сканирования таблицы на сканирования индекса, который по размеру меньше таблицы
29 ноя 10, 15:00    [9856945]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация like '%чего то там%'  [new]
MSSQL_USER
Member

Откуда: Minsk
Сообщений: 59
Гавриленко Сергей Алексеевич
bloodrain
Я всегда считал что % в начале "уничтожает" возможность использовать индекс, я ошибался?
Индекс можно использовать по-разному.


Сергей, поясните пожалуйста ваш ответ об использовании индекса по-разному.
Дело в том, что я тоже столкнулся с данной проблемой - создание индекса по полю никак не повлияло на скорость при "% в начале".
20 июн 11, 14:20    [10840490]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация like '%чего то там%'  [new]
invm
Member

Откуда: Москва
Сообщений: 9827
MSSQL_USER,

9856945
20 июн 11, 14:48    [10840798]     Ответить | Цитировать Сообщить модератору
 Re: Оптимизация like '%чего то там%'  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3752
bloodrain
Поле к которому приминяется такое условие varchar(100), есть ли какие то способы как такое условие оптимизировать? Или только фул скан таблицы?

Можно оптимизировать при инсерте! Если условие поиска константно. Общего сферического универсального метода нет.
20 июн 11, 17:55    [10842373]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить