Записи с меткой «SQL Server»

15 причин по которым ваш запрос, который вчера еще работал быстро, сегодня работает медленно

Пересказ статьи Brent Ozar. 15 Reasons Your Query Was Fast Yesterday, But Slow Today В порядке, определяемом частотой, с которой я их наблюдаю: 1. Различная рабочая нагрузка на сервер (например, запущен процесс создания резервной копии). 2. Вы получаете другой план запроса из-за прослушивания параметра (parameter sniffing). 3. Изменился запрос, например, кто-то обновил код на сервере …

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

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

Как пофиксить ошибку «Символьные или двоичные данные могут быть усечены»

Пересказ статьи Brent Ozar. How to fix the error “String or binary data would be truncated” Сначала давайте посмотрим на ошибку: создадим таблицу с небольшими полями, а затем попытаемся вставить больше данных, чем они могут вместить. CREATE TABLE dbo.CoolPeople(PersonName VARCHAR(20), PrimaryCar VARCHAR(20)); GO INSERT INTO dbo.CoolPeople(PersonName, PrimaryCar) VALUES (’Baby’, ‘2006 Subaru Impreza WRX GD’); GO …

Сравнение планов в Management Studio

Пересказ статьи Gail. Comparing plans in Management Studio Ранее я рассматривал использование Query Store (хранилище запросов) для сравнения планов выполнения, но это не единственный способ, который позволяет сравнить два плана выполнения. Другой метод требует сохраненного плана выполнения и просмотрщика планов выполнения в Management Stidio.

Краткое введение в bcp

Пересказ статьи Arthur-Daniels. A brief introduction for bcp Я заканчиваю использование утилиты bcp перемещением таблиц между средами. При этом я нахожу, что множество руководств в интернет очень детально описывают её использование. Это прекрасно, если у вас много времени. Вот моё краткое введение. Я буду обращаться сюда, если забуду, как её использовать.

Оптимизация запросов, передаваемых непосредственно

Пересказ статьи Bert Wagner. Optimizing for Ad Hoc Workloads Кэш планов выполнения — отличная вещь: после затраченных усилий на построение плана запроса SQL Server сохраняет этот план в кэше планов для повторного использования в дальнейшем.

Кардинальное число

Пересказ статьи Bert Wagner. Cardinality: Not Just For The Birds При построении индексов для ваших запросов порядок столбцов в ключе индекса имеет значение. SQL Server наиболее эффективно использует индекс, если данные в этом индексе сохраняются в том же порядке, какой требуется для вашего запроса при выполнении соединения (join), фильтрации (where), группировки (group by) или сортировки …

Основы, и использование хинта NOLOCK в SQL Server

Пересказ статьи Esat Erkeç. Essentials and usage of NOLOCK hint in SQL Server Основная идея механизма блокировок в SQL Server состоит в контроле согласованности транзакций. Согласно этому принципу, если процессу требуется выполнить операции вставки, удаления или обновления, ядро SQL Server блокирует строку или строки и не позволяет другим процессам получить доступ к данным до завершения …

Почему не следует использовать SELECT * в рабочих системах (никогда!)

Пересказ статьи Gavin Draper. Why You Shouldn’t Use SELECT * In Production Systems (EVER!) Это не значит, что я никогда не использую операторы SELECT *; обычно я использую их для прямых запросов на стадии разработки. Моё предупреждение относится к их использованию в рабочих системах.

Какой-то индекс в моем индексе

Пересказ статьи Gavin Draper. Waiter Waiter There’s an Index in my Index Речь пойдет о том, как SQL Server обращается к одновременно к кластеризованному и некластерихованному индексам при поиске закладок.