Skip to content

Два способа создания итогов в SQL

Пересказ статьи Steve Sohcot. Two Ways To Create Totals In SQL


При представлении табличных данных вам может потребоваться строка "итого" внизу списка.

Помнится лет 25! назад я применял подход создания многомерного массива для суммирования значений строка за строкой и столбец за столбцом. Как на стороне сервера, так и на JavaScript.

Создание итоговой строки на SQL (на стороне сервера) является более эффективным. Это также облегчает работу фронтенд разработчику.
Продолжить чтение "Два способа создания итогов в SQL"
Категории: T-SQL

Роли, схемы, привилегии и владельцы в SQL Server, Oracle и PostgreSQL. Часть II

Пересказ статьи Andrea Gnemmi. SQL Server, Oracle and PostgreSQL Database Security Roles, Schemas, Grants, Privileges and Owners - Part II


Во второй части серии будут рассмотрены дополнительные понятия ролей, схем, предоставления привилегий и владении, которые были опущены в первой части . В частности, мы исследуем понятия владельца, различные системные представления, используемые для обслуживания, список всех ролей и предоставляемых привилегий, различные способы предоставления привилегий на всю схему и наследования этих привилегий при создании новых объектов.

Продолжить чтение "Роли, схемы, привилегии и владельцы в SQL Server, Oracle и PostgreSQL. Часть II"

Введение в хранилище запросов SQL Server

Пересказ статьи MATTHEW MCGIFFEN. Introduction to SQL Server Query Store


Появление в SQL 2016 Query Store (хранилище запросов) явилось, без сомнения, наиболее привлекательной и обсуждаемой новой функциональностью. В этой статье мы просто бросим краткий взгляд на нее, что это такое, как запустить и как это можно использовать. Это будет довольно краткий обзор - потребуется целая книга, чтобы описать все подробно - но, надеюсь, что он даст вам понятие о том, насколько это будет полезно и как начать использовать. Продолжить чтение "Введение в хранилище запросов SQL Server"

Руководство: как автоматизировать импорт данных из Excel в базу данных, используя VBA

Пересказ статьи Steve Sohcot. Tutorial How to automate importing data from Excel into a database using a macro (VBA)


Мне часто необходимо импортировать данные из MS Excel в базу данных (конкретно в MS SQL Server).
У меня есть два метода для этого:
  1. MS Access посредством ODBC, если данных не очень много (просто скопировать/вставить).

  2. Использовать мастер импорта и экспорта данных, если данных много

Но есть случаи, когда я могу использовать более автоматизированный подход; особенно если я делегирую этот процесс технически неподготовленному коллеге. В таком случае я создам макрос Excel, который будет импортировать данные из электронной таблицы в базу данных.
Продолжить чтение "Руководство: как автоматизировать импорт данных из Excel в базу данных, используя VBA"
Категории: T-SQL

Шпаргалка для администратора БД - мониторинг активности, блокировок и производительности

Пересказ статьи Eric Blinn. Cheat Sheet for SQL Server DBAs - Monitoring Current Activity, Blocking and Performance


Видимо, каждый администратор баз данных имеет флэшку или общий диск со скриптами, подходящими почти для любой ситуации. Как построить такую библиотеку файлов T-SQL?

Это вторая статья в данной серии, в которой содержится несколько скриптов, которые я обычно использую, когда SQL Server имеет проблемы с производительностью. Каждый скрипт сопровождается кратким объяснением его использования. Эти скрипты предоставляются как-есть без каких-либо гарантий.

Продолжить чтение "Шпаргалка для администратора БД - мониторинг активности, блокировок и производительности"

Настройка производительности SQL

Пересказ статьи Gaurav Rajapurkar. SQL Performance Tuning


Настройка производительности SQL - это процесс оптимизации запросов SQL, гарантирующий их быстрое выполнение, насколько это возможно. Имеется множество факторов, которые влияют на производительность SQL-запросов, таких как число участвующих в запросе таблиц, размер и число столбцов в таблицах, индексы на таблицах.
Настройка производительности SQL является важным элементом, который сказывается на масштабируемости и скорости запросов. Здесь обсуждаются некоторые способы настройки SQL. Продолжить чтение "Настройка производительности SQL"

Откуда появились зазоры в столбце identity?

Пересказ статьи Joe Billingham. Why Are There Gaps in the Identity Column in My SQL Database


Все чаще задают вопросы о пропущенных записях, который идентифицируются зазорами в столбце identity в таблице.

Если в таблице, упорядоченной по столбцу identity, мы видим “1, 2, 3, 5”, то запись 4 должна была быть удалена, верно? Ну, хотя это возможно, оно не является единственной причиной, так как есть и другие причины такого "отсутствия" ID.
Продолжить чтение "Откуда появились зазоры в столбце identity?"
Категории: T-SQL

Команды DBCC в SQL Server: DBCC OPENTRAN

Пересказ статьи Steve Stedman. SQL Server DBCC Commands: DBCC OPENTRAN


DBCC OPENTRAN - это команда DBCC в Microsoft SQL Server, которая может использоваться для вывода информации о самой старой активной транзакции в базе данных. Это может оказаться полезным для решения проблем с долго выполняющимися транзакциями, т.к. она может помочь идентифицировать причину, вызвавшую проблему, и позволить вам предпринять соответствующие действия для ее решения.
Продолжить чтение "Команды DBCC в SQL Server: DBCC OPENTRAN"
Категории: T-SQL

Команды DBCC в SQL Server: DBCC FREEPROCCACHE

Пересказ статьи Steve Stedman.SQL Server DBCC Commands: DBCC FREEPROCCACHE


DBCC FREEPROCCACHE является командой DBCC в Microsoft SQL Server, которая может использоваться для очистки процедурного кэша - области памяти, в которой хранятся планы выполнения для хранимых процедур, триггеров и ad hoc пакетов Transact-SQL. Очистка процедурного кэша может быть полезна для устранения проблем с производительностью или тестирования влияния изменений схемы базы данных на производительность запросов.
Продолжить чтение "Команды DBCC в SQL Server: DBCC FREEPROCCACHE"

Что использовать - табличную переменную или временную таблицу?

Пересказ статьи Joe Billingham. Should I use a Table Variable or a Temporary Table?


При работе с SQL Server нет ничего необычного в необходимости сохранять данные во временной таблице или табличной переменной. Хотя оба варианта могут использоваться для достижения одной и той же цели, они по-разному могут влиять на производительность и возможность написания эффективного кода. Давайте исследуем различия между табличными переменными и временными таблицами, и когда предпочтительно использовать ту или иную.
Продолжить чтение "Что использовать - табличную переменную или временную таблицу?"

Что делает установка уровня совместимости в SQL Server?

Пересказ статьи Brent Ozar. What Does Setting the SQL Server Compatibility Level Do?


Если щелкнуть правой кнопкой по базе данных в SQL Server Management Studio, вы получаете возможность установить уровень совместимости (Compatibility Level) на уровне базы данных:
Продолжить чтение "Что делает установка уровня совместимости в SQL Server?"

Триггеры: от любви до ненависти

Пересказ статьи Ryan. Triggers: A LoveHate Relationship


Чтобы понять, почему триггеры могут вызывать такие различные реакции, я хочу привести краткую историю триггеров (с моей точки зрения) и то, как она повлияла на мой опыт работы с ними на раннем этапе.

Действие...реакция


Мы живем в мире действия/реакции - и не важно, как наши данные обрабатываются. По мере того, как системы реляционных баз данных развивались и совершенствовались на протяжении десятилетий, в декларативную систему добавлялись различные формы программных функций. Продолжить чтение "Триггеры: от любви до ненависти"

Получение TOP(N) строк с помощью APPLY или ROW_NUMBER() в SQL Server

Пересказ статьи Jared Westover. Return TOP (N) Rows using APPLY or ROW_NUMBER() in SQL Server


По большей части, существует много способов сделать одну и ту же вещь. Например, если вам нужно вернуть заданное число строк из табличнозначной функции или табличного выражения. Обычно для выполнения этой задачи разработчики применяют метод, основанный на операторе APPLY. Но является ли APPLY лучшим методом для получения результатов? Как узнать, какой метод выбрать? И что делает один метод лучше другого?

Здесь мы сравним два метода для достижения одних и тех же результатов. Сначала я детально рассмотрю оператор APPLY в случаях, когда он обычно используется. Вы знаете, что он существует в двух вариантах? Затем мы сравним APPLY с ROW_NUMBER() для получения TOP(n) строк из табличного выражения. Я расскажу о критериях, используемых для измерения производительности. Как вы думаете, кто из них победит при сравнении? К концу статьи вы будете знать, какой метод выбрать для вашего следующего проекта.

Продолжить чтение "Получение TOP(N) строк с помощью APPLY или ROW_NUMBER() в SQL Server"

PostgreSQL для администраторов SQL Server: первые четыре настройки для проверки

Пересказ статьи Ryan Booz. PostgreSQL for the SQL Server DBA: The First Four Settings to Check



Пять лет назад я начал возвращаться к использованию PostgreSQL, и это не было гладким путешествием. Одной из главных причин, по которой мне тяжело давался прогресс в изучении PostgreSQL на раннем этапе, было то, что я просто не знал, что мне следует искать. Фактически я просто постоянно беседовал в течение месяца о различиях между SQL Server и PostgreSQL с людьми, идущими по тому же пути. Продолжить чтение "PostgreSQL для администраторов SQL Server: первые четыре настройки для проверки"