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

28
Использование индексированных представлений для агрегатов - слишком хорошо, чтобы быть правдой?

У нас есть хранилище данных с довольно большим количеством записей (10-20 миллионов строк), и мы часто выполняем запросы, которые подсчитывают записи между определенными датами или подсчитывают записи с определенными флагами, например SELECT f.IsFoo, COUNT(*) AS WidgetCount FROM Widgets AS w JOIN...

28
Является ли sys.stats_columns неверным?

Допустим, у меня есть таблица Fooсо столбцами ID1, ID2и составной первичный ключ, определенный поверх ID2, ID1. (В настоящее время я работаю с продуктом System Center, в котором несколько таблиц определены таким образом, а столбцы первичного ключа перечислены в обратном порядке, в котором они...

28
JSONB с индексированием против hstore

Я пытаюсь определиться с дизайном базы данных, используя как можно меньше предположений (относительно того, как на самом деле развивается веб-приложение) на данном этапе. В качестве первого шага, понимая, что СОЕДИНЕНИЯ являются дорогостоящими, я рассматриваю небольшое количество монолитных таблиц,...

28
Обновляет ли строка с тем же значением фактическое обновление строки?

У меня есть вопрос, связанный с производительностью. Допустим, у меня есть пользователь с именем Майкл. Возьмите следующий запрос: UPDATE users SET first_name = 'Michael' WHERE users.id = 123 Будет ли запрос фактически выполнять обновление, даже если оно обновляется до того же значения? Если так,...

28
Полезен ли оператор буфера для удаления из кластерного хранилища columns?

Я тестирую удаление данных из кластерного индекса columnstore. Я заметил, что в плане выполнения есть большой нетерпеливый оператор спула: Это завершается следующими характеристиками: Удалено 60 миллионов строк 1.9 GiB TempDB используется Время выполнения 14 минут Серийный план 1 повторная привязка...

28
Проверьте, существует ли пользователь в базе данных SQL Server

Я работаю с SQL Server 2012. Я хочу проверить, существует ли пользователь, прежде чем добавить его в базу данных. Вот что я проверил: USE [MyDatabase] GO IF NOT EXISTS (SELECT name FROM [sys].[server_principals] WHERE name = N'IIS APPPOOL\MyWebApi AppPool') Begin CREATE USER [IIS APPPOOL\MyWebApi...

28
Если положительный, суммируйте все пункты. Если отрицательный, вернуть каждый

Мне нужно найти путь ко SUM()всем положительным значениям numи вернуть SUM()все положительные числа и отдельную строку для каждого отрицательного числа. Ниже приведен пример DDL: Create Table #Be ( id int , salesid int , num decimal(16,4) ) Insert Into #BE Values (1, 1, 12.32), (2, 1, -13.00), (3,...

28
MongoDB использует слишком много памяти

Этот вопрос был перенесен из переполнения стека, поскольку на него можно ответить в Exchange Stack Exchange для администраторов баз данных. Мигрировал 3 года назад . Мы используем MongoDB уже несколько недель, общая тенденция, которую мы видели, заключается в том, что mongodb использует слишком...

28
Почему ориентировочная стоимость (одинаковых) 1000 поисков по уникальному индексу отличается в этих планах?

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

28
Уменьшают ли SSD полезность баз данных

Я только слышал о Роберте Мартине сегодня, и кажется, что он является заметной фигурой в мире программного обеспечения, поэтому я не хочу, чтобы мой заголовок выглядел так, как будто это наживка, или я вкладываю слова в его рот, но это просто как я интерпретировал то, что слышал от него, с моим...

28
Было бы плохо использовать varchar (5000) по сравнению с varchar (255)?

Так как в varcharлюбом случае динамически выделяется пространство, мой вопрос заключается в том, varchar(255)будет ли использование более эффективным или сэкономит больше места по сравнению с использованием varchar(5000). Если да, то...

28
Почему мой запрос SELECT DISTINCT TOP N сканирует всю таблицу?

Я столкнулся с несколькими SELECT DISTINCT TOP Nзапросами, которые, по-видимому, плохо оптимизированы оптимизатором запросов SQL Server. Давайте начнем с рассмотрения тривиального примера: таблица миллионов строк с двумя чередующимися значениями. Я буду использовать функцию GetNums для генерации...

28
Пустой процесс блокировки в отчете о заблокированных процессах

Я собираю отчеты о заблокированных процессах с использованием расширенных событий, и по некоторым причинам в некоторых отчетах blocking-processузел пуст. Это полный XML: <blocked-process-report monitorLoop="383674"> <blocked-process> <process id="processa7bd5b868" taskpriority="0"...

28
Как принудительно выполнить однократную запись и затем таблицу только для чтения в SQL?

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

27
Как изменить параметры сортировки SQL Server

Как изменить параметры сортировки по умолчанию для SQL Server 2008 R2 Express для всего сервера и конкретной базы данных? Есть ли способ сделать это с помощью визуального интерфейса SQL Server Management Studio? В окне «Свойства сервера» (и в соответствующем окне «Свойства базы данных») это...

27
Каков наилучший способ получить случайный заказ?

У меня есть запрос, где я хочу, чтобы результирующие записи были упорядочены случайным образом. Он использует кластерный индекс, поэтому, если я не включу, order byон, скорее всего, будет возвращать записи в порядке этого индекса. Как я могу обеспечить случайный порядок строк? Я понимаю, что он,...

27
Исходники нескольких файлов одновременно с PSQL

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

27
Как правильно выполнить отжиг MySQL?

Я хочу протестировать производительность (также известную как bake-off) сервера MySQL на некоторых других форках, таких как Percona, MariaDB и, возможно, на некоторых других. Я надеюсь, что, задавая этот вопрос, я смогу лучше понять методологию создания надлежащего теста производительности. Я...

27
Что лучше для больших изменений в таблице: DELETE и INSERT каждый раз или UPDATE существующих?

Я делаю проект, в котором мне нужно ежедневно менять около 36 тысяч записей в одной таблице. Мне интересно, что будет работать лучше: удалить строки и вставить новые, или обновить уже существующие строки Для меня проще просто удалить все строки и вставить новые, но если это приведет к фрагментации...