Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MSFT SQL Server - [решено] насколько умён mssql?

Ответить
Настройки темы
MSFT SQL Server - [решено] насколько умён mssql?
pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Поймёт ли сервер, что следующее выражение очень сильно упрощается или будет на каждой строчке раз проверять @parentId is null и @like is null?
Код: Выделить весь код
declare @parentId integer; -- сейчас @parentId = null;
declare @like varchar(10); -- сейчас @like = null

select top 11
    'waresGroup.parentId' as next,
    str(id,8,0) as id,
    '1.bmp' as image,
    name
from
    waresGroup
where
    ((@parentId is null and parentId is null) or parentId=@parentId) and enabled=1
    and (@like is null or name like @like)
union
select top 11
    '' as next,
    'W' + str(id,8,0),
    '2.bmp' as image,
    name
from
    wares
where
    ((@parentId is null and waresGroupId is null) or waresGroupId=@parentId) and enabled=1
    and (@like is null or name like @like)

Отправлено: 14:49, 23-01-2009

 

Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Мне кажется, будет все таки идти проверка на null в каждом случае. В MS SQL есть Profiler, им можно было бы отследить действия сервера по обработке запроса. Не знаю, есть ли такое В MySQL .

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 01:42, 26-01-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.

pva pva вне форума Автор темы

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


как посмотреть в профайлере (есть ли чтение переменной)?

Отправлено: 08:27, 26-01-2009 | #3

pva pva вне форума Автор темы

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


тыкнул "показать план запроса - всё", запрос:
Код: Выделить весь код
declare @val1 integer;
select top 20 id from table1 where (@val is null) or code<>'123'
показал, что (@val is null) or code<>'123' выполняется дольше, чем select top 20 id, причём идёт чтение из таблицы

Отправлено: 09:00, 26-01-2009 | #4


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


вот и ответ на вопрос Не так уж он и умен протестировал, MSSQL повел себя также.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 09:35, 26-01-2009 | #5


Аватара для Amin

Новый участник


Сообщения: 38
Благодарности: 3

Профиль | Отправить PM | Цитировать


Есть еще такая крайне позитивная команда, как EXPLAIN. Выводит план выполнения запроса + количество затрагиваемых на каждом шаге объектов. При тормозах на конкретном запросе - это первое, чем необходимо воспользоваться.

-------
xmpp:Aminux@jabber.ru


Отправлено: 00:49, 01-02-2009 | #6

pva pva вне форума Автор темы

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Цитата Amin:
Есть еще такая крайне позитивная команда, как EXPLAIN »
хде, если не трудно? я заблудился. У меня есть Ms SQL 2000 и MS SQL 2005, в хелпе не нашёл

Отправлено: 09:25, 03-02-2009 | #7


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


pva, в SQL 2000 - Query Analiser - Вид есть опции отображать статистику и прочее, надо понаставить галок и запустить запрос. Он покажет полную статистику. Про Explain описано здесь

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 02:05, 04-02-2009 | #8

pva pva вне форума Автор темы

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Цитата Delirium:
Про Explain описано здесь »
УУУУ.... модераторы, кто может, поменяйте пожалуйста в названии темы mssql -> MS SQL, а то видимо непонятно как-то получается. Хотя вроде ветка форума как раз про микрософтовский sql *SCRATCH*

Отправлено: 07:18, 05-02-2009 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MSFT SQL Server - [решено] насколько умён mssql?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Использование - [решено] Насколько легально использование сборок Win XP PRO на базе VLK ? mr.R Лицензирование продуктов Microsoft 7 15-03-2009 16:48
[решено] Насколько опаснее для ноутбука режим работы 24/7, по сравнению с настольным компом? Oleg_SK Хочу все знать 6 25-02-2008 21:47
[решено] MSSQL + PHP -devICE- Вебмастеру 4 12-12-2007 17:42
Delphi - Delphi + MSSQL Altaranenco Программирование и базы данных 2 18-10-2006 11:46
MSFT SQL Server - история о MSSQL ViNYL_MANiAC Программирование и базы данных 4 07-08-2006 12:34




 
Переход