Рубрика «T-SQL»

Transact-SQL

Используете NOLOCK? Вот так вы и получаете неверные результаты запроса

Пересказ статьи Brent Ozar. Using NOLOCK Here’s How You’ll Get the Wrong Query Results. Волшебный WITH(NOLOCK) в вашем запросе, похоже, заставляет его выполняться быстрее. А как насчет недостатков? Давайте разберемся.

Что такое «включенные столбцы» для некластеризованных индексов?

Пересказ статьи Michael Salzmann. ”Included columns” for non-clustered indexes explained Microsoft SQL Server предоставляет возможность использовать «включенные столбцы» (Included columns) при создании некластеризованных индексов. В статье объясняется эта особенность, её плюсы и минусы.

PARSE против CAST и CONVERT

Пересказ статьи Max Vernon. PARSE vs CAST and CONVERT T-SQL обычно предоставляет много способов «снять шкурку с кота», как говорится. Здесь мы рассмотрим два интересных способа преобразования дат и времени из символьных столбцов в столбец, использующий тип данных datetime.

Хранилище запросов, навязывание плана и табличные переменные

Пересказ статьи Grant Fritchey. Query Store, Plan Forcing and Table Variables Steinar Andersen рассказал о проблеме, с которой он столкнулся при навязывании планов, которые содержали табличные переменные. Без паники. Конечно, по большей части вы можете навязывать план с табличными переменными. У Стейнара была довольно специфическая проблема. Прежде чем я перейду к объяснению, замечу, что Стейнар …

sp_execute_external_script и SQL-инъекция

Пересказ статьи Grant Fritchey. sp_execute_external_script and SQL Injection Для того, чтобы иметь возможность использовать R и Python (а также Java в SQL Server 2019) непосредственно из ваших скриптов SQL Server, применяется процедура sp_execute_external_script. Когда вы видите этот код впервые, он напоминает sp_execute_sql. Первое, что приходит на ум, это «О, нет. Еще одно лазейка для проникновения …

Пример применения функции SQL Server Substring в T-SQL, R и Python

Пересказ статьи Siddharth Mehta. SQL Server Substring Function Example with T-SQL, R and Python Проблема Манипуляция со строками является одним из наиболее фундаментальных элементов работы с данными, используемом почти в каждом примере преобразования данных. Основными целями манипуляции со строками являются форматирование, усечение, набивка, замена и аналогичные функции. Часто для применения этих функций требуется выбрать конкретную …

DMV для начинающих

Пересказ статьи Monica Rathbun. DMV’s for the Beginner Я замечаю, что некоторые администраторы баз данных и разработчики никогда не обращают внимания на динамические административные представления (DMV), которые доступны в SQL Server, начиная с версии 2005. Эти представления предоставляют полезные средства для определения того, что происходит с конкретным экземпляром SQL Server. Итак, в этой статье я …

Новости за неделю
2019-09-28 — 2019-10-04

§ Популярные темы недели на форуме Топик Сообщений 12 (SELECT) 7 65 (Learn) 4 1 (SELECT) 2 23 (Learn) 2 39 (SELECT) 2 § Авторы недели на форуме Автор Сообщений Arbaiter 10 Kursist 9 selber 5 c306cp 4 Igor_lai 4 § Изменения среди лидеров Рейтинг Участник (решенные задачи) 8 Kursist (159) § Претенденты на попадание в TOP 100 Рейтинг Участник (решенные задачи, время в днях) 309 Juster81 (99, …

Фильтрованные индексы: основы

Пересказ статьи Monica Rathbun. Filtered Index Basics Многие администраторы баз данных вполне осознают важность индексов и знают, как их создавать. Однако я обнаружила, что некоторым из них требуется еще глубже погрузиться в оптимизацию своих индексов и воспользоваться преимуществом, которое предоставляют фильтрованные индексы.

Расщепление строк с помощью OPENJSON

Пересказ статьи Dave Mason. Splitting Strings With OPENJSON Начиная с SQL Server 2016, Майкрософт предоставляет функцию STRING_SPLIT. Это табличнозначная функция, которая разбивает символьную строку на ряды подстрок на основе заданного символа-разделителя. Это было приятное добавление, которого долго ждали. Но имеется один недостаток: порядок выходных строк не гарантирует совпадение с порядком подстрок во входной строке.