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

Откуда: Харьков, Украина
Сообщений: 62034
выполняю

--вариант 1

set arithabort on
go
set ansi_warnings on
go
exec SomeProc
go
--вариант 2

set arithabort off
go
set ansi_warnings off
go
exec SomeProc
go

вариант 1 в 30 раз быстрее, чем вариант 2
смотрю причину - разные планы запросов. Пинаю оптимизатор, чтобы планы получились одинаковыми. После этого разница всего в 3 раза :-)
Вопрос: каким таким образом arithabort влияет:
а) на посторение плана запроса (конкретно, на выбор индекса)
б) почему при одинаковых планах запроса время выполнения разное?
Может, разъяснит кто?
20 мар 04, 14:42    [588760]     Ответить | Цитировать Сообщить модератору
 Re: arithabort и (план запроса + время выполнения)  [new]
V. Motchulsky
Guest
Вот она причина:
set arithabort off

set ansi_warnings off
select 1 union
select 1/0 union
select 2

set arithabort on

set ansi_warnings on
select 1 union
select 1/0 union
select 2
21 мар 04, 03:10    [588984]     Ответить | Цитировать Сообщить модератору
 Re: arithabort и (план запроса + время выполнения)  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
то, что в одном случае получаем null, а в другом - ошибку - это я прекрасно знаю
Меня интересует почему получаем разные планы, а при одинаковых планах - разную производительность.
22 мар 04, 11:05    [589679]     Ответить | Цитировать Сообщить модератору
 Re: arithabort и (план запроса + время выполнения)  [new]
Crimean
Member

Откуда:
Сообщений: 13148
Ну вот еще один на это попал :)
Это особенность, чтоб ее
22 мар 04, 13:18    [590078]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить