Пересказ статьи Erik Darling. Columns That Share Ordering
Это следует иметь в виду, когда вам необходимо использовать сортировку большой таблицы.
Конечно, мы беспокоимся относительно ORDER BY по многим разумным причинам, особенно, когда не имеем индекса, поддерживающего упорядочение.
Continue reading "Столбцы с одинаковым упорядочиванием"
Пересказ статьи Kenneth Fisher. What is the datatype SQL VARIANT
Тип данных SQL_VARIANT - интересный зверь. Это тип данных, который может хранить большинство типов данных. Т.е. date, decimal, int, varchar и т.п. могут сохраняться в единственном типе данных. Звучит здорово, не так ли? Ну, тут есть несколько проблем.
Continue reading "Что это за тип данных SQL_VARIANT?"
Пересказ статьи Greg Robidoux. Building SQL Server Indexes in Ascending vs Descending Order
Проблема
При построении индексов часто используется вариант по умолчанию, а именно, индекс строится в возрастающем порядке. Это обычно является наиболее подходящим вариантом создания индекса, поскольку наиболее старые данные или наименьшие значения оказываются наверху, а новые или наибольшие внизу. Хотя поиск по индексу работает прекрасно на таких индексах, но думали ли вы о необходимости всегда получать сначала наиболее свежие данные и о том, что вы можете создать индекс в убывающем порядке, при котором наиболее свежие данные всегда находятся наверху индекса?
Continue reading "Построение индексов SQL Server в возрастающем и убывающем порядке"
Пересказ статьи Manoj Debnath. Working with SQL Cursors
В языке SQL курсоры служат указателями, которые позволяют языку написания приложений обрабатывать результаты запросов построчно. В данной статье вкратце объясняется концепция и показывается, как объявить курсор, открыть, извлечь из него данные, а затем закрыть.
Continue reading "Работа с курсорами SQL"
Пересказ статьи Brent Ozar. Cool Query Hints
Документация SQL Server содержит довольно крутой список хинтов запросов:

Но что там за цветной ящик? Смотрим.
Continue reading "Крутые хинты запросов"
В ранних версиях SQL Server (до 2017) при удалении несуществующей таблицы (
DROP TABLE t1;) вы получали сообщение об ошибке:
Не удалось удалить таблицу "t1", так как она не существует или отсутствуют разрешения."
Continue reading "Удалить таблицу, если она существует"