Skip to content

Как автоматизировать серверные процессы в экземпляре SQL Server с помощью Python

Пересказ статьи Ian Fogelman. How to Automate Backend Processes in SQL Server Instance with Python


Автоматизация серверных (backend) процессов в экземпляре SQL Server является традиционной задачей. Будь то обновление статистики, перестройка индексов, чтение или удаление данных или другие среды программирования, интегрирующиеся с RDMS, все это исключительно важно. В этой статье рассматриваются те виды задач, которые могут быть выполнены с помощью различных методов, доступных в модулях Python.

Continue reading "Как автоматизировать серверные процессы в экземпляре SQL Server с помощью Python"

Что такое ad hoc запрос?

Пересказ статьи Kathi Kellenberger. What is an ad hoc query?


Ad hoc запрос - это отдельный запрос, не включенный в хранимую процедуру и не параметризованный или подготовленный. В зависимости от установок сервера, SQL Server может параметризовать некоторые операторы, изначально написанные как ad hoc запросы. Ad hoc не означает динамический.
Continue reading "Что такое ad hoc запрос?"

Что такое опережающее чтение?

Пересказ статьи Chad Callihan. What is a Read-Ahead Read?


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

Continue reading "Что такое опережающее чтение?"

Только левое соединение на основе последующего внутреннего соединения

Пересказ статьи Greg Dodd. Only Left Joining based on Subsequent Inner Join


Несколько затруднительно объяснить, почему вы должны использовать это, поэтому давайте сразу перейдем к примерам. Я создал базу данных Schools, используя этот скрипт от Microsoft, а потом внес в него несколько изменений, чтобы нормализовать таблицу Person:
Continue reading "Только левое соединение на основе последующего внутреннего соединения"

Общие шаблоны плана запроса для соединений: Sorting Lookups

Пересказ статьи Erik Darling. Common Query Plan Patterns For Joins: Sorting Lookups


Многие люди видят lookup и думают "добавить покрывающий индекс" вне зависимости от каких-либо сопутствующих деталей. Затем они добавляют индекс с 40 включенными столбцами для решения чего-то, что не является проблемой.

Сегодня мы собираемся рассмотреть несколько других вещей, которые могут происходить внутри lookup. Continue reading "Общие шаблоны плана запроса для соединений: Sorting Lookups"

Все, что вам нужно знать о поколоночных индексах, в одной статье

Пересказ статьи Gail. All you need to know about Columnstore Indexes in one article


Я осознал, что, несмотря на обилие публикаций об индексах за многие годы, я никогда не писал в блоге о поколоночных (Columnstore) индексах. Время исправить это. Здесь все, что вам нужно знать, чтобы начать использовать поколоночные индексы. (Обратите внимание, это никоим образом не вообще все, что нужно знать об индексах columnstore. Для этого см. серию блогов Nico, в настоящее время насчитывающую 131 публикацию). Continue reading "Все, что вам нужно знать о поколоночных индексах, в одной статье"

Как буферный пул обрабатывает условия нехватки памяти?

Пересказ статьи Randolph West. How does the buffer pool handle low memory conditions?


Одним из больших клише в профессиональном словаре данных (после "это зависит") является то, что вы всегда даете SQL Server столько RAM, сколько можете себе позволить, поскольку он будет всю ее использовать. Но что произойдет, если SQL Server не хватает памяти?
Continue reading "Как буферный пул обрабатывает условия нехватки памяти?"

Как работает буферный пул?

Пересказ статьи Randolph West. How does the buffer pool work?


Сегодня мы начнем рассмотрение буферного пула в SQL Server, и как он обычно используется. Прежде чем глубже погрузиться в буферный пул, нам потребуется напомнить себе некоторые фундаментальные вещи о том, как компьютеры обрабатывают и хранят информацию, т.к. это имеет отношение к пониманию работы буферного пула. Continue reading "Как работает буферный пул?"