Широко известна фраза: «Повторение — мать учения».
Возможно, это звучит банально, но на втором году работы я смог полностью прочувствовать смысл этой фразы.
С одной стороны, когда человек открывает для себя что-то новое, повторение изученного в разумных пределах позволяет ему лучше закрепить материал.
Однако в моей ситуации мне приходилось каждый день решать функционально схожие задачи.
Естественным результатом является постепенное снижение мотивации делать это вручную.
Динамическая помощь помогла мне найти выход из этой ситуации.
SQL , что позволило автоматизировать большинство рутинных операций и повысить производительность труда.
Ниже приведены несколько примеров из реальной жизни, которые были решены с использованием динамических SQL .
1. Автоматическое ведение индекса.
То, что удовлетворительно работало на этапе проектирования, со временем может вызвать значительное падение производительности при работе с базой данных.
Причин для этого может быть много, поэтому, чтобы минимизировать вероятность возникновения наиболее очевидных из них, формируют так называемый план обслуживания, в джентльменский набор которого входят задачи по перестроению (дефрагментации) индексов.
Для разового обслуживания можно перестроить индексы вручную, например, через пункт контекстного меню в ССМС — Восстановить индекс .
Также можно воспользоваться одним из специализированных инструментов — в свое время я довольно активно пользовался бесплатным инструментом.
Менеджер индексов SQL (жаль, что на момент написания статьи РедГейт Оплату я уже сделал).
Однако этот факт не должен нас слишком огорчать, поскольку основной функционал данного приложения легко реализовать за счет использования динамических SQL .
Прежде всего необходимо получить список фрагментированных индексов, отсеивая при этом таблицы без кластерного ключа (кучи):
SELECT
Теги: #sql-сервер #dynamic sql #t-sql #pivot #indexes #sql #Microsoft SQL Server