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

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

2
Очень похожие запросы, очень разная производительность
У меня два очень похожих запроса Первый запрос: SELECT count(*) FROM Audits a JOIN AuditRelatedIds ari ON a.Id = ari.AuditId WHERE ari.RelatedId = '1DD87CF1-286B-409A-8C60-3FFEC394FDB1' and a.TargetTypeId IN (1,2,3,4,5,6,7,8,9, 11,12,13,14,15,16,17,18,19, 21,22,23,24,25,26,27,28,29,30, 31,32,33,34,35,36,37,38,39, 41,42,43,44,45,46,47,48,49, 51,52,53,54,55,56,57,58,59, 61,62,63,64,65,66,67,68,69, 71,72,73,74,75,76,77,78,79) Результат: 267479 План: https://www.brentozar.com/pastetheplan/?id=BJWTtILyS Второй запрос: SELECT count(*) FROM Audits a JOIN AuditRelatedIds ari ON …


2
SQL Server: покрытие индексов, включая все столбцы?
Наша команда унаследовала приложение и связанную базу данных. Предыдущие разработчики, по-видимому, применяли правило, согласно которому в каждом индексе каждой таблицы есть предложение INCLUDE, чтобы всегда добавлять каждый столбец, который иначе не является частью ключа. Эти таблицы имеют в среднем от двух до пяти индексов или уникальных ограничений, а также внешние …

1
SQL сбрасывает все страницы из буферного кэша каждые несколько минут
У меня есть один узел SQL2012 SP4 с несколькими базами данных. На сервере доступно 20 ГБ памяти, 14 ГБ выделено для SQL (больше ничего не работает на коробке). Каждые несколько минут SQL сбрасывает весь буферный кеш. Ожидаемая продолжительность жизни страницы равна нулю, дескрипторы буферного кэша показывают, что в кэше ничего …

2
Вычисляемый столбец не может быть сохранен, потому что столбец недетерминирован
Я знаю, что это не первый раз, когда задают такой вопрос. Но почему в следующем сценарии постоянный вычисляемый столбец создается «недетерминированным». Ответ всегда должен быть одинаковым, верно? CREATE TABLE dbo.test (Id INT, EventTime DATETIME NULL, PosixTime INT NOT NULL) GO DECLARE @EventTime DATETIME = '20181001 12:00:00' DECLARE @GPSTime INT = …

1
«Предупреждения: операция вызвала остаточный ввод-вывод» в сравнении с поиском по ключевым словам
Я видел это предупреждение в планах выполнения SQL Server 2017: Предупреждения: Операция вызвала остаточный IO [sic]. Фактическое количество прочитанных строк было (3,321,318), но количество возвращенных строк было 40. Вот фрагмент из SQLSentry PlanExplorer: Чтобы улучшить код, я добавил некластеризованный индекс, чтобы SQL Server мог получить доступ к соответствующим строкам. Он …

1
Может ли объявление волатильности функции НЕМНОГО повредить производительности?
Функции Postgres объявлены с классификацией волатильности VOLATILE, STABLEилиIMMUTABLE . Известно, что проект очень строг с этими метками для встроенных функций. И не без причины. Показательный пример: индексы выражений допускают только IMMUTABLEфункции, и они должны быть действительно неизменными, чтобы избежать неверных результатов. Пользовательские функции все еще могут быть объявлены по усмотрению …

1
Медленное время запроса на поиск сходства с индексами pg_trgm
Мы добавили два индекса pg_trgm в таблицу, чтобы включить нечеткий поиск по адресу электронной почты или имени, так как нам нужно найти пользователей по имени или адресам электронной почты, которые были написаны с ошибками при регистрации (например, «@ gmail.con»). ANALYZEбыл запущен после создания индекса. Однако выполнение ранжированного поиска по любому …

1
Поиск уровня изоляции по умолчанию в SQL Server 2017 и Azure SQL DB
Я читаю книгу, связанную с транзакциями и параллелизмом. В одном абзаце упоминается, что: В локальном экземпляре SQL Server уровнем изоляции по умолчанию является Read-Committed на основе блокировки И следующее предложение: По умолчанию в базе данных SQL - Чтение - зафиксированный снимок на основе контроля версий строк Мой вопрос: в чем …

1
Почему моя база данных Azure SQL (SQL Server) перегружается вводом-выводом данных в течение периодов времени? [закрыто]
Закрыто. Этот вопрос не по теме . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос так это на тему для базы данных администраторов Stack Exchange. Закрыто 6 месяцев назад . Я использую базу данных SQL Azure под редакцией S2 (50 DTU). При обычном использовании сервера …

2
Что вызывает высокую загрузку ЦП из этого плана запроса / выполнения?
У меня есть база данных SQL Azure, которая поддерживает приложение API .NET Core. Просмотр отчетов об обзоре производительности на портале Azure показывает, что большая часть нагрузки (использование DTU) на моем сервере базы данных поступает из ЦП, и один запрос специально: Как мы видим, запрос 3780 отвечает почти за все использование …

2
Зачем устанавливать `group_concat_max_len` ниже максимума?
MySQL 5.5.28 в Ubuntu 12.04 Если результат длиннее, чем group_concat_max_lenрезультат, результат будет изящно усечен. В настоящее время у меня есть скрипт, который пытается проверить требуемую длину заранее и устанавливает group_concat_max_lenдостаточно большой размер . Но проверка добавляет дополнительные запросы. Есть ли недостаток в том, чтобы просто установить group_concat_max_lenмаксимальное значение? Преимущество - …

1
sys.objects column [Тип] странное значение 'ST'
Я вижу странное (недокументированное) значение для столбца [Type] в sys.objects. Значение «ST», как показано ниже (обратите внимание, dbo.Record - это пользовательская таблица) Кто-нибудь знает, что означает это значение «ST»? (Это в SQL Server 2014 Developer Edition)

1
Postgres: усечение, если существует в функции psql с параметром
Я пытаюсь получить функцию psql, которая усекает заданное имя таблицы, если оно существует. Я пробовал несколько функций, но ни одна из них не работала до сих пор. Вот код: CREATE OR REPLACE FUNCTION truncateIfExists(tableName TEXT) returns void as $$ BEGIN EXECUTE format( 'IF EXISTS ( SELECT * FROM information_schema.tables WHERE …

6
Высокая загрузка системного времени на сервере MySQL
Немного предыстории, некоторое время назад мы начали испытывать высокое системное время на одной из наших баз данных MySQL. Эта база данных также страдала от высокого использования диска, поэтому мы решили, что эти вещи связаны. И так как у нас уже были планы перенести его на SSD, мы подумали, что это …

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