![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подскажите! [D7, MSSQL]
apl © (2006-02-13 08:21:00)Прошу подскажите! Несколько раз приходится выполнять запрос к таблице базы данных типа
Select .... from ... where field like '010%'Мне кажется что выполнив запрос однократно (без where) и фильтруя его несколько раз можно несколько повысить производительность, но написать правильно условие фильтра не могу. Конструкции вида field='010%'не срабатывают.
Можно ли в выражениях фильтра использовать символы-заменители.
Nikolay M. (2006-02-13 10:25:00) [1]
> можно попытаться использовать курсоры, тогда к тебе на комп
> будет 1 раз скопированна инфа и выполняй хоть скока запросов.
Хотелось бы услышать, каким образом использование курсоров позволит:
1) 1 раз скопировать "инфу";
2) выполнить хоть "скока" запросов (каких? и "скока" именно в граммах?);
3) поможет автору в его борьбе с фильтрами.
?
msguns (2006-02-13 09:27:00) [2]Если НД, получаемый на клиенте, небольшой и на нем надо "фильтрануть", то почему бы не использвать сканирование ? При условии, конечно, что время выборки на сервере немалое.
SkyRanger (2006-02-13 09:22:00) [3]Угу индексирование рулит, хотя можно попытаться использовать курсоры, тогда к тебе на комп будет 1 раз скопированна инфа и выполняй хоть скока запросов.
ZeroDivide (2006-02-13 09:12:00) [4]Можно так же использовать field like '010%' ORfield like '011%'
Можно использовать
select ...
union
select ...
Но вообще, like - это тормоз, на некоторых СУБД. Хотя, например, на ORACLE выполняется достаточно быстро.
ЮЮ (2006-02-13 08:28:00) [5]
> можно несколько повысить производительность,
Можно только снять нагрузку с сервера и переместить её на клиента, что вряд ли повысит производительность. Лучше индекс по field построй.
по сабщу, почему в запросе like, а в фильтре = ?