ahmed_sa Ответов: 1

Как переписать запрос, чтобы занять небольшое время при выполнении ?


Я работаю над SQL server 2012 и мне требуется слишком много времени чтобы улучшить его

так как же улучшить его, чтобы занять немного времени

как написать запрос, который лучше всего улучшить, чтобы занять меньше времени ?

это займет слишком много времени около получаса чтобы вернуть 50000 строк

Что я уже пробовал:

https://www.brentozar.com/pastetheplan/?id=H1XwcNHXv

OriginalGriff

А что вы пробовали?
Где ты застрял?
Какая помощь вам нужна?

Patrice T

Вам нужно переключиться с "магии" на "больше магии" (файл жаргона)

Richard MacCutchan

- Я не могу изменить законы физики, капитан."
Не используйте запросы, которые возвращают так много строк. Если вам действительно нужно 50 000 одновременно, добавьте некоторый код на страницу, чтобы вы могли начать работу над первым подмножеством, пока остальные извлекаются.

Patrice T

Так что верно первый научный сотрудник :)

Richard MacCutchan

Это логично, капитан. :)

1 Ответов

Рейтинг:
1

CHill60

В своем предыдущем посте я дал вам некоторую информацию о том, как анализировать ваш запрос - см.
Когда выполняется запрос только для одной части, это занимает слишком много времени только для одной части, почему ?[^]. Один взгляд на ваш план выполнения говорит мне, что, возможно, вам следует посмотреть на индексы в таблице Parts.Nop_PartsFamilyAttribute

Вы уже нашли сайт Брента, поэтому изучите информацию, которая там представлена - например sp_BlitzIndex® - тест-показатель вменяемости SQL-сервера, [^]

Смотрите комментарий @Richard-MacCutchan и сделайте что - нибудь о необходимости возвращать так много строк одновременно- эта статья может помочь Результаты подкачки SQL Server 2005[^] (игнорируйте версию 2005 года, она все равно должна работать в 2012 году)

Мы действительно не можем предоставить вам гораздо больше помощи без информации о схеме таблиц и некоторых образцов данных (в идеале сценарий для создания таблиц и заполнения их небольшим образцом данных). Также неплохо объяснить, что именно вы пытаетесь получить из базы данных, например, некоторые ожидаемые результаты для приведенных выборочных данных. Помогите нам помочь вам.