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

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

1
Обновление PostgreSQL 9.2 - 9.6 с нулевым временем простоя
Я должен обновить с PostgreSQL 9.2 до 9.6. Ниже приведены проблемы, с которыми я сталкиваюсь: Поскольку у нас есть настройка потоковой репликации, а PostgreSQL не поддерживает обновление до более низкой версии в режиме потоковой репликации, когда я обновляю master, мне приходится перестраивать ведомые устройства, и это занимает 3 часа. У …

1
MERGE предотвращение блокировки
В одной из наших баз данных у нас есть таблица, к которой интенсивно одновременно обращается несколько потоков. Потоки обновляют или вставляют строки через MERGE. Есть также потоки, которые время от времени удаляют строки, поэтому данные таблицы очень изменчивы. Потоки, выполняющие upserts, иногда страдают от взаимоблокировки. Проблема выглядит аналогично описанной в …

1
Понимание страниц IAM: интервалы экстентов
Я читаю книгу Ицик "Запросы Microsoft SQL Server 2012", а также читаю / смотрю различные учебные материалы в Интернете. Мое намерение состоит в том, чтобы иметь полезное понимание того, как работают внутренние компоненты базы данных. У меня есть небольшое сомнение, что я не мог решить о страницах IAM. Поскольку я …

2
PostgreSQL Upsert не работает на секционированной таблице
Есть стол, как это: CREATE TABLE aggregated_master ( "user" BIGINT, type TEXT, date TIMESTAMP, operations BIGINT, amount NUMERIC, PRIMARY KEY ( "user", type, date ) ); Эта таблица является мастером, от которого наследуется множество разделов. Разделы выполняются MONTH в поле DATE. Например: раздел для августа-2017 будет agg_201708, а его PK …

2
Когда именно несколько пользователей не могут одновременно запустить хранимую процедуру с временной таблицей?
У меня есть вопрос, касающийся части документации по временным таблицам, которую я недавно прочитал в TechNet . Четвертый абзац раздела « Временные таблицы » на этой странице гласит: Если временная таблица создается с именованным ограничением и временная таблица создается в рамках определенной пользователем транзакции, только один пользователь за раз может …

3
Триггер для изменения сортировки базы данных при создании
Я пытаюсь создать триггер, чтобы изменить параметры сортировки базы данных при ее создании, но как я могу поймать имя базы данных для использования внутри триггера? USE master GO CREATE TRIGGER trg_DDL_ChangeCOllationDatabase ON ALL SERVER FOR CREATE_DATABASE AS declare @databasename varchar(200) set @databasename =db_name() ALTER DATABASE @databasename COLLATE xxxxxxxxxxxxxxxxxxx GO Очевидно, …

5
Взаимоисключающие отношения «многие ко многим»
У меня есть таблица, containersкоторая может иметь отношение многие ко многим к нескольким таблицам, скажем plants, так animalsи есть bacteria. Каждый контейнер может содержать произвольное количество растений, животных или бактерий, и каждое растение, животное или бактерия могут находиться в произвольном количестве контейнеров. Пока это очень просто, но у меня возникла …

6
Запускайте хранимые процедуры параллельно
Я пытаюсь запустить одну и ту же хранимую процедуру несколько раз с разными параметрами, но в то же время. Я использую SQL 2014 Причина в том, что процедура занимает около 7 часов. Это на самом деле делает один и тот же процесс много раз. Так, например, он может построить новую …

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

2
Как именно работает однобайтовый тип char в PostgreSQL?
Я часто вижу, как люди говорят "char". Я никогда не использовал это. Это определено в документах как, Тип "char" (обратите внимание на кавычки) отличается от char (1) тем, что он использует только один байт памяти. Он используется внутри системных каталогов как упрощенный тип перечисления. И далее, "char" 1 byte single-byte …

2
Статистика: процессорное время против прошедшего времени. Что важнее?
При настройке производительности, что важнее: Процессорное время или прошедшее время? Существуют ли сценарии, в которых один из них важнее другого? Пример: при настройке производительности время ЦП сократится на ~ 38%, а затраченное время увеличится на ~ 22%. Это улучшение ?

2
Создать ограничение PostgreSQL для предотвращения уникальных комбинаций строк
Представьте, что у вас есть простая таблица: name | is_active ---------------- A | 0 A | 0 B | 0 C | 1 ... | ... Мне нужно создать специальное уникальное ограничение, которое не выполняется в следующей ситуации: разные is_activeзначения не могут сосуществовать для одного и того же nameзначения. Пример …

2
Значения, превышающие 1/3 страницы буфера, не могут быть проиндексированы
Я не очень хорошо разбираюсь в БД, поэтому, пожалуйста, потерпите меня. Я пытаюсь поместить очень длинные данные JSON в таблицу, эта таблица была создана фреймворком Django. Я использую Postgres на Heroku. Итак, когда я пытаюсь поместить данные, я получаю следующую ошибку: File "/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/utils.py", line 64, in execute return self.cursor.execute(sql, params) …

2
Изменение столбца идентификации с INT на BIGINT
У меня есть таблица со столбцом идентификации, который также является первичным ключом. В настоящее время в нем 50 миллионов строк, а наибольшее значение столбца идентификаторов составляет 148 921 803. Таблица имеет много DELETEs и INSERTSвыполняется на нем, отсюда и высокое значение. Мы хотим изменить тип данных с INTна, BIGINTчтобы подготовиться …

3
Разрешить ли разработчикам использовать LocalDB против экземпляра «разработки»?
Очень похоже на вопрос, который был опубликован здесь ранее: « Могут ли разработчики запрашивать производственные базы данных? » Я хотел бы поделиться вашими соображениями по другой особенно раздражающей теме! Многие компании запрещают разработчикам устанавливать SQL Server Express и тому подобное на компьютерах разработчиков, вместо этого поощряя использование централизованных серверов разработки …

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