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

Откуда:
Сообщений: 165
По факту имею запрос на SQL 2008:
SELECT V_OPU_d.*
FROM t_BE LEFT OUTER JOIN
t_BE_Access ON t_BE.BE = t_BE_Access.BE INNER JOIN
V_OPU_d ON t_BE.BE = V_OPU_d.BE
WHERE (t_BE.BE IS NOT NULL) AND (t_BE_Access.BE IS NULL)
Объекты t_... -таблицы, v_... -представление. Все записи V_OPU_d открываются примерно за 2 мин.
Время исполнения приведенного запроса в ms sql среде - 6 мин 44 сек. "Один в один" запрос в Access 2003 c присоединенными sql-таблицами и теми же именами выдает результат через 2 мин.
"Настольная" среда оказывается в 3 раза быстрее!

Сервер загружен мало. Сетевой интерфейс 100 мб/с ПК загружается на ~70%, проц на ~30%

Знатоки: объясните такой парадокс?!
27 июн 14, 11:23    [16227769]     Ответить | Цитировать Сообщить модератору
 Re: Неожиданный результат производительности запроса  [new]
Konst_One
Member

Откуда:
Сообщений: 11625
OPTION (EXPAND VIEWS)
27 июн 14, 11:26    [16227799]     Ответить | Цитировать Сообщить модератору
 Re: Неожиданный результат производительности запроса  [new]
serg0265
Member

Откуда:
Сообщений: 165
Konst_One,
Не понял :(
27 июн 14, 11:36    [16227890]     Ответить | Цитировать Сообщить модератору
 Re: Неожиданный результат производительности запроса  [new]
Konst_One
Member

Откуда:
Сообщений: 11625
тогда начните с плана выполнения вашего запроса
27 июн 14, 11:43    [16227958]     Ответить | Цитировать Сообщить модератору
 Re: Неожиданный результат производительности запроса  [new]
serg0265
Member

Откуда:
Сообщений: 165
Усугублю удивление
Этот же запрос, открытый из этого же файла БД Access, но в среде Access 2010, выполняется 2 мин 8 сек.
Итоговый рейтинг исполнения запроса:
Access 2003 - 2:08
Access 2010 - 3:15
Скрипт в MS SQL 2008 SMS - 6:44

Я всегда утверждал, что Access 2003 - лучший Access "всех времен и народов" ! А теперь еще такое подтверждение. Есть и много-много других аргументов. Налицо деградация Microsoft на примере этой среды
27 июн 14, 11:59    [16228115]     Ответить | Цитировать Сообщить модератору
 Re: Неожиданный результат производительности запроса  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
serg0265
Я всегда утверждал, что Access 2003 - лучший Access "всех времен и народов" ! А теперь еще такое подтверждение. Есть и много-много других аргументов. Налицо деградация Microsoft на примере этой среды

мдя.. отличное утверждение.
27 июн 14, 12:01    [16228139]     Ответить | Цитировать Сообщить модератору
 Re: Неожиданный результат производительности запроса  [new]
serg0265
Member

Откуда:
Сообщений: 165
Konst_One,
Мило... Пока определишь как там по колонкам сортировать, в каком порядке выбирать подзапросы, как соотносить и т.д. Это ж сколько надо еще дополнительного времени потратить программисту...
Считаю, что имея Access 2003, который сам умеет быстро и удобно получать результаты, поневоле начнешь использовать его в пику прямых запросов sql в своей среде, которому надо все "разжевать" (хотя это тоже иногда надо, но не на на далеко всех рутинных несложных задачах). Я сейчас говорю о реальных задачах быстрого анализа, структурных модификация, олап-кубах и т.д.. На практике на Аксе 2003 те же задачи решаются и модифицируются потом быстрее.
Давайте экономить время программиста.
27 июн 14, 12:09    [16228212]     Ответить | Цитировать Сообщить модератору
 Re: Неожиданный результат производительности запроса  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
незнание продукта вовсе не говорит о том,что он плох.
27 июн 14, 12:21    [16228288]     Ответить | Цитировать Сообщить модератору
 Re: Неожиданный результат производительности запроса  [new]
serg0265
Member

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

Про незнание соглашусь. И скорее всего надо составлять план запроса. А это накладной расход техпроцесса.
Но уверен, что одни те же задачи надо решать таким способом, который быстрее. Составление же плана в скл-среде (помимо собственно составления запроса) отнимает еще энное время. И как ни странно, но по быстроте решения задачи "родная" среда проигрывает "простачку".
27 июн 14, 12:31    [16228344]     Ответить | Цитировать Сообщить модератору
 Re: Неожиданный результат производительности запроса  [new]
Konst_One
Member

Откуда:
Сообщений: 11625
план запроса получить - это всего лишь нажать кнопочку на тулбаре SSMS перед выполнением запроса
27 июн 14, 12:42    [16228432]     Ответить | Цитировать Сообщить модератору
 Re: Неожиданный результат производительности запроса  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8839
автор
объясните такой парадокс

В аксес базе существуют индексы, в SQL - отсутствуют.
27 июн 14, 12:44    [16228442]     Ответить | Цитировать Сообщить модератору
 Re: Неожиданный результат производительности запроса  [new]
serg0265
Member

Откуда:
Сообщений: 165
Владислав Колосов,
Не может быть в Аксе индексов по определению, так как таблицы присоединенные к SQL-таблицам
27 июн 14, 13:19    [16228709]     Ответить | Цитировать Сообщить модератору
 Re: Неожиданный результат производительности запроса  [new]
serg0265
Member

Откуда:
Сообщений: 165
Владислав Колосов,
Точнее: не может своих аксес-индексов. работают определения только SQL.
27 июн 14, 13:21    [16228723]     Ответить | Цитировать Сообщить модератору
 Re: Неожиданный результат производительности запроса  [new]
serg0265
Member

Откуда:
Сообщений: 165
Владислав Колосов,
Точнее: не может ассес в случае с присоединенными таблицами иметь свои индексы. Тут работают
определения только SQL-сервера.
Так что предположение неверно.
27 июн 14, 13:23    [16228740]     Ответить | Цитировать Сообщить модератору
 Re: Неожиданный результат производительности запроса  [new]
serg0265
Member

Откуда:
Сообщений: 165
Причину нашел:
Поле ВЕ, связывающее t_BE и t_BE_Access, в этих таблицах имеют разные типы. После приведения типов к единому, первичных индексов и связыванием referential integrity связью ситуация резко поменялась: запрос на скл-сервере теперь отрабатывает за 50 сек! :)

Выходит, что Акс лучше сглаживает несуразности программистов, типа конвертации типов.
Вот так бывает, столько найдешь в чужих базах...

Спасибо всем за отклики и участие!
27 июн 14, 13:43    [16228886]     Ответить | Цитировать Сообщить модератору
 Re: Неожиданный результат производительности запроса  [new]
wizli
Member

Откуда: Minsk
Сообщений: 270
serg0265
Maxx,

Про незнание соглашусь. И скорее всего надо составлять план запроса. А это накладной расход техпроцесса.
Но уверен, что одни те же задачи надо решать таким способом, который быстрее. Составление же плана в скл-среде (помимо собственно составления запроса) отнимает еще энное время. И как ни странно, но по быстроте решения задачи "родная" среда проигрывает "простачку".


Прочитав эту фразу можно подумать, что получение плана запроса и впрямь очень трудоемкий процесс, а нам самом деле

план запроса получить - это всего лишь нажать кнопочку на тулбаре SSMS перед выполнением запроса


Не говорите, что инструмент не удобный или медленный, или непонятны, если не знакомы с ним.
27 июн 14, 14:03    [16229033]     Ответить | Цитировать Сообщить модератору
 Re: Неожиданный результат производительности запроса  [new]
serg0265
Member

Откуда:
Сообщений: 165
wizli,
Спасибо за предложение про план и за замечания.
27 июн 14, 14:11    [16229095]     Ответить | Цитировать Сообщить модератору
 Re: Неожиданный результат производительности запроса  [new]
mittagswind
Member

Откуда:
Сообщений: 136
serg0265
Выходит, что Акс лучше сглаживает несуразности программистов, типа конвертации типов.


вот это да! я теперь все буду делать на Access, и всем остальным его советовать буду!
27 июн 14, 14:30    [16229218]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить