Skip to content

Используйте триггеры DDL для автоматической синхронизации представлений SQL Server

Пересказ статьи Aaron Bertrand. Use DDL Triggers to Automatically Keep SQL Server Views in Sync


Сколько бы мы ни говорили людям использовать SCHEMABINDING и избегать использования SELECT *, все же существует множество причин, почему этому не следуют. Хорошо задокументированная проблема с SELECT * в представлениях состоит, в частности, в том, что система кэширует метаданные представления в момент создания представления, а не тогда, когда к представлению выполняется запрос. Если позже таблицы, к которым обращается представление, изменяются, схема представления не отражает эти изменения без обновления, изменения или пересоздания представления. Разве не было бы замечательно, если бы вы могли перестать беспокоиться об этом сценарии и позволили системе автоматически синхронизировать метаданные?
Продолжить чтение "Используйте триггеры DDL для автоматической синхронизации представлений SQL Server"
Категории: T-SQL

Распространенные мифы о журналах транзакций SQL Server

Пересказ статьи Jeff Iannucci. Common SQL Server Transaction Log Myths


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

И, пожалуйста, не огорчайтесь, если вы еще верите в некоторые из этих мифов. Просто прекратите верить им после чтения этой статьи. Серьезно, никогда не поздно учиться или, как в нашем случае, переучиваться. ОК, вот правда.
Продолжить чтение "Распространенные мифы о журналах транзакций SQL Server"
Категории: T-SQL

Использование предложения TOP в операторе SELECT

Пересказ статьи Greg Larsen. Using TOP clause in a SELECT statement


Иногда вам может потребовать вернуть только несколько строк из результирующего набора, а не все строки. Это может быть полезно, если вы хотите просто проверить критерий отбора на нескольких строках данных. Какой бы ни была причина, предложение TOP может быть полезно для возвращения конкретного числа или процента строк из результирующего набора. В этой статье будет рассмотрено использование предложения TOP в операторе SELECT, и как он может использоваться для возвращения частичного набора записей.
Продолжить чтение "Использование предложения TOP в операторе SELECT"
Категории: T-SQL

Новости за 2023-07-15 - 2023-07-21

§ Популярные темы недели на форуме


Топик		Сообщений
32 (SELECT) 5

§ Претенденты на попадание в TOP 100


Рейтинг	 Участник (решенные задачи, время в днях)
116 dimzv (68, 8.545)
229 blr_Oliver (109, 22.161)
256 pimen78 (100, 96.547)
258 Panzerkampfwagen (102, 174.198)
361 qzva (83, 28.813)
Продолжить чтение "Новости за 2023-07-15 - 2023-07-21"

Привилегии и роли в SQL Server, Oracle и PostgreSQL. Часть 1

Пересказ статьи Andrea Gnemmi. Privileges and Roles in SQL Server, Oracle and PostgreSQL - Part 1


Предоставление привилегий на объект базы данных является наиболее распространенным видом деятельности, которую выполняют администраторы баз данных, стараясь при этом дать разрешения, достаточные для выполнения работы, но не слишком большой доступ. Помните о принципе наименьших привилегий! Иногда это сложно реализовать, и, как мы видели на многих других примерах, имеются некоторые различия в реализации этой функциональности в трех рассматриваемых РСУБД, плюс появились некоторые новые роли в SQL Server 2022. В настоящей статье мы рассмотрим то, как предоставить разрешения в SQL Server, Oracle и PostgreSQL.

В этом руководстве мы дадим обзор различных способов предоставления привилегий в SQL Server, Oracle и PostgreSQL. Будут также представлены различия в концепциях ролей, схем и владельцев, а также способ предоставления разрешений на всю схему. Работая над этой статьей, я осознал, что она становится все больше и больше, поэтому я разбил ее на 2 части. В этой первой части мы сосредоточим внимание на концепции ролей. Продолжить чтение "Привилегии и роли в SQL Server, Oracle и PostgreSQL. Часть 1"

Основы представлений в PostgreSQL

Пересказ статьи Shivayan Mukherjee. The Basics of PostgreSQL Views


Эта статья поможет вам понять, что такое представление в базе данных в общем, и что такое представление конкретно в PostgreSQL. Вы научитесь создавать/писать запросы/удалять представление в PostgreSQL, осваивая соответствующий синтаксис на рабочих примерах, используя для этого терминал Psql или инструмент PgAdmin. Продолжить чтение "Основы представлений в PostgreSQL "

Новости за 2023-07-08 - 2023-07-14

§ Проверка задачи 10 (SELECT, рейтинг) усилена данными от crafty_figure.


§ Задача 303 перенесена на номер 32 со сложностью 3 балла.
Прежняя рейтинговая задача под номером 32 теперь находится на обучающем этапе под номером 164.

Продолжить чтение "Новости за 2023-07-08 - 2023-07-14"

Получение в Python данных из MySQL

Пересказ статьи Robert Sheldon. Retrieving MySQL data from within Python


Приложения всех типов обычно получают доступ к MySQL для извлечения, добавления, обновления или удаления данных. Эти приложения могут быть написаны на Python, Java, C# или другом языке программирования. Большинство языков поддерживают множество методов для работы с базой данных MySQL и манипуляции ее данными.

Подход, который вы выбираете при доступе к MySQL, будет зависеть от используемого языка программирования и подключения, которое вы предпочтете для взаимодействия с базой данных. Какой бы подход вы ни выбрали, обычно в каждой среде применяются одни и те же основные принципы. Вы должны установить соединение с базой данных, а затем выполнять команды для извлечения или модификации данных. Продолжить чтение "Получение в Python данных из MySQL"

Экономьте время на подсчете, используйте IF EXISTS

Пересказ статьи Chad Callihan. Save Time Counting, Use IF EXISTS


При проверке существования значения или значений в таблице обычно не обязательно читать всю таблицу. Цель состоит в том, чтобы получить больше верных или ложных ответов, независимо от того, соблюдаются критерии или нет. Если критерии выполняются на первых нескольких записях, то нет необходимости продолжать чтение. Тем не менее, вы можете встретить скрипты, написанные с необязательным извлечением полного числа значений в таблице. Давайте сравним разницу в производительности между использованием COUNT(*) и “IF EXISTS” при проверке наличия значений.

Продолжить чтение "Экономьте время на подсчете, используйте IF EXISTS"

Новости за 2023-07-01 - 2023-07-07

§ Под номером 303 выставлена для обсуждения новая задача от нового автора - blr_Oliver (сложность 2 балла).
Автор ждет ваших рецензий. :-)
Прежняя задача под номером 303 теперь открывает второй этап под номером 5.

Продолжить чтение "Новости за 2023-07-01 - 2023-07-07"

Удалить сразу все избыточные индексы в каждой базе данных

Пересказ статьи Eitan Blumin. Drop All Redundant Indexes In Every Database All At Once


Избыточные индексы в SQL Server - это явление значительно более общее, чем мне бы хотелось. Я встречал это довольно часто. Это означает, что данное сообщение в блоге все еще будет иметь значительную целевую аудиторию! :-)

Статья Brent Ozar дает исчерпывающую информацию об избыточных/дублирующих индексах, что они означают, почему это плохо, и что нужно с этим делать.

Продолжить чтение "Удалить сразу все избыточные индексы в каждой базе данных"

Сравнение функций STUFF, REPLACE и WRITE в SQL Server

Пересказ статьи Aubrey Love. SQL STUFF vs SQL REPLACE vs SQL WRITE in SQL Server


Если вы когда-либо решали задачу со строками в Microsoft SQL Server, то, вероятно, уже знакомы с различными строковыми функциями, которые могут упростить процесс решения. Функции STUFF() и REPLACE() наиболее часто используются для обновления строковых значений в таблице. Но .WRITE() является относительно менее известной, не так ли? Продолжить чтение "Сравнение функций STUFF, REPLACE и WRITE в SQL Server"
Категории: T-SQL