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

64
Поиск индекса против сканирования индекса

Глядя на план выполнения медленно выполняющегося запроса, я заметил, что некоторые узлы являются поиском по индексу, а некоторые - сканированием по индексу. В чем разница между поиском по индексу и сканированием по индексу? Который работает лучше? Как SQL выбирает одно над другим? Я понимаю, что...

63
Каков наилучший способ уменьшить размер ibdata в MySQL?

У меня есть несколько производственных серверов, ibdataразмер файлов которых увеличивается с каждым днем. Уже занято 290 ГБ пространства. Таблицы на серверах в основном InnoDB, и есть высокие запросы на чтение и запись. Размер файла журнала также увеличивается. В таблицах огромное количество...

62
Как восстановить конкретную базу данных из резервной копии с помощью команды mongorestore

Я создал резервную копию всех моих баз данных с помощью команды mongodump. Теперь я хочу восстановить конкретную базу данных с помощью команды mongorestore. Как это возможно, я использую эту команду: параметр --db, тогда mongodb не восстанавливает конкретную базу...

62
MySQL: создать индекс, если не существует

Есть ли способ создать индекс в MySQL, если он не существует? MySQL не поддерживает очевидный формат: CREATE INDEX IF NOT EXISTS index_name ON table(column) ERROR 1064 (42000): You have an error in your SQL syntax;... MySQL version ( mysql -V) - 5.1.48, но я думаю, что MySQL не хватает CREATE INDEX...

61
Проверьте ограничение только один из трех столбцов не является нулевым

У меня есть (SQL Server) таблица, которая содержит 3 типа результатов: FLOAT, NVARCHAR (30) или DATETIME (3 отдельных столбца). Я хочу убедиться, что для любой данной строки, только один столбец имеет результат, а другие столбцы имеют значение NULL. Что является самым простым проверочным...

61
Каковы недостатки использования UUID или GUID в качестве первичного ключа?

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

60
Создать индекс, если он не существует

Я работаю над функцией, которая позволяет мне добавить индекс, если он не существует. Я столкнулся с проблемой, что я не могу получить список индексов для сравнения. есть идеи? Эта проблема аналогична проблеме создания столбца, которая решается с помощью следующего кода:...

60
Какую информацию о событиях я могу получить по умолчанию из SQL Server?

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

59
Напишите различия между varchar и nvarchar

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

58
Найти самый высокий уровень иерархического поля: с против без CTE

примечание: этот вопрос был обновлен, чтобы отразить, что в настоящее время мы используем MySQL, поэтому я хотел бы увидеть, насколько проще будет, если мы перейдем на базу данных, поддерживающую CTE. У меня есть таблица с самоссылкой с первичным ключом idи внешним ключом parent_id....

58
Как влияет на производительность использование CHAR против VARCHAR в поле фиксированного размера?

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

58
О производительности однопоточных и многопоточных баз данных

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

57
Стоит ли проектировать базу данных до написания кода приложения?

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

57
Как выбрать первый ряд каждой группы?

У меня есть такая таблица: ID | Val | Kind ---------------------- 1 | 1337 | 2 2 | 1337 | 1 3 | 3 | 4 4 | 3 | 4 Я хочу сделать, SELECTчто будет возвращать только первый ряд для каждого Val, упорядочив по Kind. Образец вывода: ID | Val | Kind ---------------------- 2 | 1337 | 1 3 | 3 | 4 Как я могу...

57
Скользящая сумма диапазона дат с использованием оконных функций

Мне нужно рассчитать скользящую сумму по диапазону дат. Чтобы проиллюстрировать это, используя пример базы данных AdventureWorks , следующий гипотетический синтаксис сделал бы именно то, что мне нужно: SELECT TH.ProductID, TH.TransactionDate, TH.ActualCost, RollingSum45 = SUM(TH.ActualCost) OVER (...

57
Написание простой банковской схемы: как я должен синхронизировать свои балансы с историей их транзакций?

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