|
![]() |
#1 |
Участник
|
Может быть, стоит пойти с этим вопросом на профильный форум на SQL.RU (хотя там задать его будет посложнее, скорее всего, будут требовать привести скрипты таблиц, статистику, а то и repro, конкретный запрос, и т.д. и т.п.), зато там уж скорее подскажут.
Кроме того, какие-то немного шаманские сравнения получаются. ![]() 1. IMHO, стоит включить SET STATISTICS TIME / SET STATISTICS IO (можно в опциях в Management Studio) и хотя бы смотреть, чтобы примерно то же количество чтений были логическими/физическими, и не ждал ли MS SQL во время выполнения кого-то ещё). 2. "То, о чем предупреждал Владимир Максимов" --- посмотреть Estimated number of rows в каждом плане, т.к. если оценки сильно отличаются от реальных, и Вы выберете этот план, то потом можно очень сильно пожалеть... Дело в том, что, выбирая в таких случаях по реальному времени выполнения, Вы просто надеетесь на удачу. ![]() 3. Да, а (если не накладывать условий на pSumAccount) сколько занимает такая же выборка из CustTrans? У Вас, похоже, большой её кусок считывается и передаётся на клиента, может всё время вообще на это уходит, откуда нам знать? ![]() 4. А какую версию MS SQL Server Вы используете (в разных версиях поведение может кардинально отличаться)? Последний раз редактировалось Ярослав Щекин; 22.04.2016 в 10:01. Причина: опечатка |
|
![]() |
#2 |
Участник
|
Цитата:
во-вторых, сделал список объектов в Аксапте, который использует перечисление TableGroupAll там 143 объекта (и это я еще кастомно-проектные убрал). среди них:
я подумал, что этого достаточно, чтобы поговорить о принципе в целом тема ветки: Как оптимально написать T-SQL запрос для выборки настройки Table/Group/All (например, счет ГК из профиля разноски) свою то проблему я давно решил. причем как это ни странно, наивным способом. А он оказался еще и самым быстрым. ну, можно и так.... Последний раз редактировалось mazzy; 22.04.2016 в 12:01. |
|
![]() |
#3 |
Участник
|
Цитата:
Цитата:
![]() |
|