Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,079
1

Высокая стоимость запросов для полей из присоединенных таблиц

14.03.2015, 09:01. Показов 1725. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как можно уменьшить стоимость сортировки из присоединенных таблиц? Убираю сортировку - запрос по тяжести становится рядовым.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.03.2015, 09:01
Ответы с готовыми решениями:

Невозможность корректировки присоединенных таблиц SQL Server
Есть оболочка Access с присоединёнными таблицами SQL Server Во всех табл можно изменять записи из...

Трудности с Update в Access присоединенных SQL Server таблиц
Уважаемые Знатоки, Прилинковал таблицу из SQL 7.0 в Access 97. Открываю ее в Access 97 и...

Автоматическое создание таблиц из наименований таблиц, имен полей, типов полей
Форумчане, доброго времени суток! Есть таблица в которую автоматом выгрузили имена всех таблиц,...

Список имен таблиц и имен полей таблиц для анализа на форуме
Форумчане, доброго времени суток! Подготовил новые имена таблиц и их полей для создания структуры...

8
3499 / 2083 / 742
Регистрация: 02.06.2013
Сообщений: 5,078
14.03.2015, 10:14 2
А как вы оцениваете "тяжесть" запроса?
0
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,079
15.03.2015, 21:48  [ТС] 3
Смотрю в план запроса и там: "Стоимость поддерева". С сортировкой стоимость несколько сотен, без сортировки что-то близкое к единице. Под "тяжелым" я имею ввиду те запросы, выполнение которых требует серьезных затрат ресурсов (загрузка ЦПУ, обращения к диску) ну и, как следствие, имеющих длительное время выполнения.

Добавлено через 32 секунды
Ну и то, что я забыл указать: MS SQL Server 2008 r2.
0
3499 / 2083 / 742
Регистрация: 02.06.2013
Сообщений: 5,078
16.03.2015, 00:08 4
Стоимость сортировки изменить нельзя. Можно либо отказаться от нее, либо сделать индекс, который оптимизатор сможет использовать вместо сортировки.
Вы лучше покажите запрос и его актуальный (а не оценочный) план выполнения.
0
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,079
16.03.2015, 08:54  [ТС] 5
От сортировки отказаться не могу. Прикрепляю файлы с запросом и планом. В примере ситуация еще сложнее... подключается представление в котором сортировка осуществляется по полю, значение которого определяется динамически.
PlanAndSQ.zip
Как быть если сортировку могут включить по любому полю произвольно? На каждое поле создавать индекс?
0
3499 / 2083 / 742
Регистрация: 02.06.2013
Сообщений: 5,078
16.03.2015, 11:12 6
Сортировка ни при чем: ее относительная стоимость - 0%
Для начала попробуйте отключить пареллелизм, добавив в запрос option(maxdop 1)
0
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,079
16.03.2015, 11:45  [ТС] 7
На мой взгляд стало хуже.
maxdopOptionPlan.zip
Я вижу что сортировка не влияет. Но когда я комментирую сортировку стоимость поддерева уменьшается в 200 раз.
0
3499 / 2083 / 742
Регистрация: 02.06.2013
Сообщений: 5,078
16.03.2015, 12:05 8
Цитата Сообщение от _katon_ Посмотреть сообщение
На мой взгляд стало хуже.
Стало хуже что?
Цитата Сообщение от _katon_ Посмотреть сообщение
Но когда я комментирую сортировку стоимость поддерева уменьшается в 200 раз.
Чудес не бывает. Если стоимость так уменьшилась, значит план стал совсем другим.
0
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,079
16.03.2015, 18:42  [ТС] 9
Цитата Сообщение от invm Посмотреть сообщение
Стало хуже что?
Стало хуже с точки зрения стоимости.
Цитата Сообщение от invm Посмотреть сообщение
Чудес не бывает. Если стоимость так уменьшилась, значит план стал совсем другим.
Представление подключаемое к запросу решил полностью переделать, потому как запрос внутри состоит из массы встроенных подзапросов.
0
16.03.2015, 18:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.03.2015, 18:42
Помогаю со студенческими работами здесь

Использование ключевых полей для связывания таблиц
Уважаемые коллеги, прошу помочь мне в выполнении следующего задания: Необходимо, чтобы все таблицы...

Как получить имя сервера для создания таблиц, запросов к базе SQL SERVER.
Среда Visual Basic STUDIO’2010 Professional Windows'XP, компьютер не подключён к интернету....

Получить список таблиц, полей и описание полей базы данных
Добрый день! подскажите как можно получить список таблиц, полей и описание полей базы данных?

Не получается создать триггер для перемножения полей из разных таблиц
Вобщем нужно чтобы триггер перемножал поля izdelie.cena и vid_obrabot.koeffic и записывал результат...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru