Есть ли какие-либо формальные методы для рефакторинга SQL, подобного этому списку здесь, который является для кода?
Я в настоящее время работаю над значительным запросом для конкретного отчета, и я уверен, что существует много объема для рефакторинга здесь, который я просто спотыкаюсь через меня поразрядно.
Я никогда не видел исчерпывающего списка, подобного приведенному вами образцу.
Самый эффективный способ рефакторинга sql, который я видел, - это использовать оператор with . Он позволяет разбить sql на управляемые части, которые часто можно тестировать независимо . Кроме того, он может обеспечить повторное использование результатов запроса, иногда с использованием системной временной таблицы. Это стоит усилий, чтобы изучить.
Вот более интересный пример.
Не то, чтобы я когда-либо находил. В основном я работал с SQL Server, и стандартные методы:
Если вы все еще застряли, многие отчеты не зависят от 100% текущих данных - попробуйте предварительно вычислить порции данных (или всей партии) по расписанию, например, на ночь.
На эту тему есть книга: « Рефакторинг баз данных ». Я не читал его, но он получил 4,5 / 5 звезд на Amazon и был написан в соавторстве со Скоттом Эмблером, что является хорошим знаком.
Не столько о методах, сколько о методах, но этот вопрос может помочь вам найти инструменты рефакторинга SQL:
Есть ли инструмент для рефакторинга SQL, немного похожий на ReSharper для SQL