Администраторы базы данных

Вопросы и ответы для специалистов по базам данных, которые хотят улучшить свои навыки работы с базами данных и учиться у других в сообществе

6
Перестройте Очень Большой Индекс первичного ключа
У меня есть база данных SQL, которая размещена на Azure. Проблема в том, что размер выходит из-под контроля, я могу увидеть до 99% фрагментации в кластерных индексах первичного ключа. Я могу перестроить все остальные индексы с online=onопцией, и это не повлияет на производительность. Размер одного из индексов PK Clustered превышает …

1
Делает ли отмена (AUTO) процесса VACUUM в PostgreSQL бесполезной вся работа?
В некоторых случаях, и после создания массива update, insertили deleteиз таблицы, я начал, VACUUM FULL ANALYZEчтобы убедиться, что БД не стала слишком раздутой. Выполнение этого в производственной базе данных позволило мне обнаружить, что это не очень хорошая идея, потому что я мог заблокировать таблицу на длительный период времени. Итак, я …

2
Обновите таблицу, используя значения из другой таблицы в SQL Server
У меня есть 2 таблицы в моей базе данных. Таблица 1 ------------------------------------------------------------------------- | name | family | phone | email | gender | phone2 | address | birthdate | ------------------------------------------------------------------------- Таблица 2 ----------------------------------------- | gender | address | phone | birthdate | ----------------------------------------- в столбцах таблицы № 1 адрес и …

1
Почему эти похожие запросы используют разные фазы оптимизации (обработка транзакций и быстрый план)?
Пример кода в этом элементе подключения Показывает ошибку где SELECT COUNT(*) FROM dbo.my_splitter_1('2') L1 INNER JOIN dbo.my_splitter_1('') L2 ON L1.csv_item = L2.csv_item Возвращает правильные результаты. Но следующее возвращает неверные результаты (в 2014 году с использованием нового Оценщика мощности) SELECT (SELECT COUNT(*) FROM dbo.my_splitter_1('2') L1 INNER JOIN dbo.my_splitter_1('') L2 ON L1.csv_item …

3
Преимущества УСТАНОВЛЕННОГО УРОВНЯ ИЗОЛЯЦИИ СДЕЛКИ СЧИТАЮТСЯ
Я использую SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTEDв большинстве своих общих запросов SQL, главным образом потому, что это было подробно изучено при первоначальном изучении языка. WITH (NO LOCK)Насколько я понимаю, этот уровень изоляции действует так же, как и я, когда-либо склонен использовать SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED. Есть ли …

2
Что такое горячая точка в контексте добавления файлов в tempdb?
Я пытаюсь выяснить, возможно ли добавить файлы tempdb на SQL Server без перезапуска службы SQL Server. Я видел этот ответ здесь на администраторах базы данных: Tempdb Добавить файлы требуют перезагрузки И один ответ гласит: ДОБАВИТЬ - отключение не требуется. Хотя, как указал Шон из Microsoft, SQL предпочтет использовать файлы с …

4
Быстрый переход с колонки NVARCHAR (4000) на NVARCHAR (260)
У меня проблема с производительностью при очень больших разрешениях памяти, обрабатывающих эту таблицу с парой NVARCHAR(4000) столбцами. Дело в том, что эти столбцы никогда не бывают больше, чем NVARCHAR(260). С помощью ALTER TABLE [table] ALTER COLUMN [col] NVARCHAR(260) NULL в результате SQL Server переписывает всю таблицу (и использует размер таблицы …

3
Увеличьте скорость изменения столбца на большом столе до NON NULL
Недавно я добавил битовый столбец, поддерживающий NULL, в таблицу, в которой содержится около 500 миллионов строк. В столбце нет значения по умолчанию, однако для всех вставок указано значение 0 или 1, и я выполнил одноразовую процедуру, чтобы присвоить 0 или 1 всем существующим строкам (обновление строк небольшими партиями). Каждая строка …

3
Запросы и обновления очень медленно после IndexOptimize
База данных SQL Server 2017 Enterprise CU16 14.0.3076.1 Недавно мы попытались переключиться с заданий по техническому обслуживанию на восстановление индекса по умолчанию на Ola Hallengren IndexOptimize. Задания по перестройке индекса по умолчанию выполнялись в течение нескольких месяцев без каких-либо проблем, а запросы и обновления работали с приемлемым временем выполнения. После …

1
Сессия расширенных событий SQL для обнаружения взаимоблокировок
Есть ли способ увеличить размер <inputbuf>элемента в тупиковом XML, захваченном сеансом расширенных событий взаимоблокировки? Мы хотим увидеть полный запрос, чтобы помочь точно определить проблему в коде приложения. Кажется, он ограничен 1024 символами +/-. Можно ли его увеличить? Ниже приведен пример XML. Вы можете видеть, что текст запроса в <inputbuf>элементе обрезается …

1
Это признак перегрузки сервера?
Я пытался диагностировать замедления в приложении. Для этого я зарегистрировал расширенные события SQL Server . Для этого вопроса я смотрю на одну конкретную хранимую процедуру. Но есть основной набор из дюжины хранимых процедур, которые в равной степени могут быть использованы в качестве расследования яблоки к яблокам и всякий раз, когда …

1
Зачем нужен этот агрегат потока?
Проверьте этот запрос. Это довольно просто (см. В конце поста определения таблиц и индексов, а также скрипт repro): SELECT MAX(Revision) FROM dbo.TheOneders WHERE Id = 1 AND 1 = (SELECT 1); Примечание: «AND 1 = (SELECT 1) просто для того, чтобы этот запрос не был автоматически параметризован, что, как мне …

3
Зачем использовать мастер для создания базы данных?
У меня короткий вопрос, почему я использую use master;для создания базы данных? Вот пример из документации Microsoft USE master ; GO CREATE DATABASE Sales ON ( NAME = Sales_dat, FILENAME = 'C:\Program Files\...\saledat.mdf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ) LOG ON ( NAME = Sales_log, FILENAME …

1
Медленный порядок на SQL Server
В моем приложении у меня есть запрос, который выполняет поиск в таблице «файлы». Таблица «файлы» разделена на «f». «Создан» (см. Определение таблицы и имеет ~ 26 миллионов строк для клиента 19 («f». «Cid = 19). Дело в том, если я сделаю этот запрос: SELECT "f"."id" AS "FileId" , "f"."name" AS …

3
Задача запроса: создание сегментов четного размера на основе показателя, а не числа строк
Я опишу проблему с точки зрения загрузки заказов на определенное количество грузовых автомобилей как можно более равномерно. Входы: @TruckCount - the number of empty trucks to fill Множество: OrderId, OrderDetailId, OrderDetailSize, TruckId (initially null) Ordersсостоят из одного или нескольких OrderDetails. Задача здесь состоит в том, чтобы назначить TruckIdкаждой записи. Один …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.