Пересказ статьи Kathi Kellenberger. What’s the Difference Between PERCENT_RANK and CUME_DIST?
Помните стандартные тесты, которые вы сдавали в школе? Они сравнивали ваше выполнение с другими, ранжировали, но не давали фактического процента правильных ответов.
Microsoft реализовал несколько новых оконных функций в SQL Server 2012, в том числе две, которые сравнивают элементы в списке, аналогично результатам стандартных тестов. Этими двумя функциями являются PERCENT_RANK и CUME_DIST. Они подобны функции RANK, но возвращают процент в группе, а не просто ранговый номер.
Continue reading "Какая разница между PERCENT_RANK и CUME_DIST?"
Пересказ статьи Erin Stellato. What columns are in that index?
Недавно я помогала с настройкой нескольким заказчикам, обычно означающая, что я просматриваю индексы и задаю вопросы. Я обратила внимание на шаблон, в котором столбцы кластеризованного индекса добавляются в определения ключей некластеризованных индексов. Это приводит к нескольким интересным моментам, когда дело доходит до создания некластеризованных индексов.
Continue reading "Какие столбцы находятся в этом индексе?"
Пересказ статьи Greg Larsen. Understanding SQL Server Recovery Models
Задачей номер 1, которую каждый администратор баз данных должен выполнять идеально, является восстановление базы данных, если она по какой-то причине окажется поврежденной. Модель восстановления (recovery model) базы данных определяет варианты, которые имеются у администратора при восстановлении базы данных. Если администратор не может восстановить базу данных в случае аварии, ему лучше стряхнуть пыль со своего резюме и начать искать новое направление работы.
Continue reading "Понимание моделей восстановления SQL Server"
Пересказ статьи Jeffry Schwartz. Should I Replace My FOR XML PATH String Merges with String_agg?
Если вы ищете в этом, в первую очередь, прирост производительности, то ответ - нет. Однако, если вы используете SQL Server 2017 и разрабатываете новый код, вам следует рассмотреть использование новой функции String_agg, которая появилась в SQL Server 2017, поскольку код с использованием этой функции намного более читабелен, и его легче написать и поддерживать. В этой статье сравнивается производительность двух методов с объяснением разницы в коде. Представленные примеры задействуют списки имен таблиц SQL Server, которые соединяются в предложении динамического SQL, которое может быть использовано в предложениях WHERE или JOIN.
Continue reading "Должен ли я заменить слияние строк с помощью FOR XML PATH на String_agg?"
Пересказ статьи Daniel Janik. It’s 2020, Do I really need to DBCC CHECKDB?
Скажем, вы получаете запрос на восстановление бэкапа базы данных в Azure Managed Instance. Вы выполняете эту задачу, а затем несколькими днями спустя команда, которая просила сделать восстановление, сообщает, что они имеют проблемы с подключением к недавно восстановленному бэкапу.
Continue reading "Год 2020, так ли еще нужен DBCC CHECKDB?"
§ С Новым годом! Счастья, здоровья и удачи!
§ selber и qwrqwr приложили голову к усилению проверки задачи 8 (SELECT, обуч. этап).
В ответ на замечание pooteen усилена проверка задачи 49 (SELECT, обуч. этап).
Continue reading "Новости за 2020-12-26 - 2021-01-01"
Пересказ статьи Eduardo Pivaral. Refreshing dependent views after a DDL change
Когда вы отвечаете за базы данных с тоннами объектов, небольшие изменения объекта могут затруднить репликацию, если имеется множество объектов, которые зависят от него.
Здесь мы рассмотрим то, как обновлять представления при изменении столбцов.
Continue reading "Обновление зависимых представлений после изменения DDL"
Пересказ статьи Jeff Moden. Hidden Formatting Troubles with STR() (SQL Spackle)
Введение
Все мы знаем, что форматирование данных в SQL Server, это то, чего не следует делать, но нам иногда требуется как-то отформатировать вывод в файл или по другим не связанным с GUI причинам.
Функция STR () кажется очень удобной для форматирования. И это так. Она округляет до заданного числа десятичных знаков. Она позволяет вам контролировать отображаемую ширину колонки вывода. Для чего еще, можете вы спросить. Если вы используете STR() не только для простых целых чисел или предварительно округленных значений, ответом может быть "новое задание". Давайте посмотрим...
Continue reading "Скрытые проблемы форматирования с помощью STR()"
Пересказ статьи Grant Fritchey. HOW DOES THE CHOOSE COMMAND AFFECT PERFORMANCE?
На первый взгляд, я, честно говоря, не думаю, что она сама по себе влияет на производительность, и зависит от того, где и как вы ее используете. Однако ответ всегда лучше подкреплять тестированием.
Continue reading "Как команда CHOOSE влияет на производительность?"
Пересказ статьи Brent Ozar. Half Of You Don’t Understand Variables and Transactions
Уважают ли табличные переменные и обычные переменные транзакции? Если я установлю значение переменной во время выполнения транзакции, а затем выполню откат, что произойдет?
Continue reading "Половина вас не понимает переменные и транзакции"
Пересказ статьи Grant Fritchey. Capture Execution Plans Only For Long Running Queries
Вопрос: Как я могу использовать Profiler, чтобы захватить планы выполнения тех запросов, которые выполняются дольше заданного времени?
Continue reading "Захват планов выполнения только для долгоиграющих запросов"