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

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

3
Каковы недостатки использования UUID или GUID в качестве первичного ключа?
Я хотел бы построить распределенную систему. Мне нужно хранить данные в базах данных, и было бы полезно использовать UUID или GUID в качестве первичного ключа для некоторых таблиц. Я предполагаю, что у этого дизайна есть недостатки, так как UUID / GUID довольно большой, и они почти случайны. Альтернатива - использовать …

1
Какую информацию о событиях я могу получить по умолчанию из SQL Server?
Я часто вижу вопросы, где люди хотят знать, произошла ли определенная вещь, или когда это произошло, или кто выполнил действие. Во многих случаях SQL Server просто не отслеживает эту информацию самостоятельно. Например: Кто последний выполнял хранимую процедуру dbo.MyProcedure? Кто обновил salaryколонку в dbo.Employeesтаблице? Кто последний раз запрашивал dbo.Ordersтаблицу из Management …

2
Создать индекс, если он не существует
Я работаю над функцией, которая позволяет мне добавить индекс, если он не существует. Я столкнулся с проблемой, что я не могу получить список индексов для сравнения. есть идеи? Эта проблема аналогична проблеме создания столбца, которая решается с помощью следующего кода: https://stackoverflow.com/a/12603892/368511

5
Напишите различия между varchar и nvarchar
В настоящее время мы используем нашу базу данных SQL Server 2012 varchar, и мы хотели бы изменить это nvarchar. Я создал скрипт для этого. Мой вопрос: есть ли различия в том, как SQL Server пишет в varcharстолбцы по сравнению со nvarcharстолбцами? У нас есть ряд внутренних процедур, которые меня беспокоят. …

6
О производительности однопоточных и многопоточных баз данных
H2 является однопоточной базой данных с хорошей репутацией в отношении производительности. Другие базы данных являются многопоточными. Мой вопрос: когда многопоточная база данных становится более интересной, чем однопоточная база данных? Сколько пользователей? Сколько процессов? Что такое триггер? У кого-нибудь есть опыт, которым можно поделиться? Резюме Обычное узкое место - доступ к …

4
В чем разница между выбором количества (*) и выбором количества (any_non_null_column)?
Кажется, я помню, что (на Oracle) есть разница между произнесением select count(*) from any_tableи select count(any_non_null_column) from any_table. Каковы различия между этими двумя утверждениями, если таковые имеются?
58 oracle  aggregate  count  null 

3
Как влияет на производительность использование CHAR против VARCHAR в поле фиксированного размера?
У меня есть индексированный столбец, в котором хранится хэш MD5. Таким образом, столбец всегда будет хранить 32-символьное значение. По какой-то причине, он был создан как varchar, а не как char. Стоит ли переносить базу данных, чтобы преобразовать ее в символ? Это в MySQL 5.0 с InnoDB.

3
Найти самый высокий уровень иерархического поля: с против без CTE
примечание: этот вопрос был обновлен, чтобы отразить, что в настоящее время мы используем MySQL, поэтому я хотел бы увидеть, насколько проще будет, если мы перейдем на базу данных, поддерживающую CTE. У меня есть таблица с самоссылкой с первичным ключом idи внешним ключом parent_id. +------------+--------------+------+-----+---------+----------------+ | Field | Type | Null …



9
Стоит ли проектировать базу данных до написания кода приложения?
Какой самый простой и эффективный способ создания базы данных? С моей точки зрения, есть несколько вариантов дизайна хранилища данных приложения: Прежде чем писать код приложения, спроектируйте базу данных как можно лучше . Это дает вам преимущество наличия базовой структуры данных для работы. Недостатком этого, на мой взгляд, является то, что …

7
Написание простой банковской схемы: как я должен синхронизировать свои балансы с историей их транзакций?
Я пишу схему для простой банковской базы данных. Вот основные характеристики: База данных будет хранить транзакции против пользователя и валюты. У каждого пользователя есть один баланс на валюту, поэтому каждый баланс - это просто сумма всех транзакций с данным пользователем и валютой. Баланс не может быть отрицательным. Приложение банка будет …

4
Может ли один запрос PostgreSQL использовать несколько ядер?
В последних версиях PostgreSQL (по состоянию на декабрь 2013 года) можно ли разделить запрос между двумя или более ядрами, чтобы повысить производительность? Или мы должны получить более быстрые ядра?

6
Скользящая сумма диапазона дат с использованием оконных функций
Мне нужно рассчитать скользящую сумму по диапазону дат. Чтобы проиллюстрировать это, используя пример базы данных AdventureWorks , следующий гипотетический синтаксис сделал бы именно то, что мне нужно: SELECT TH.ProductID, TH.TransactionDate, TH.ActualCost, RollingSum45 = SUM(TH.ActualCost) OVER ( PARTITION BY TH.ProductID ORDER BY TH.TransactionDate RANGE BETWEEN INTERVAL 45 DAY PRECEDING AND CURRENT …


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