2014-12-09 7 views
0

Я недавно разрабатывал веб-приложение .Net MVC и отправлял схему базы данных в DBA, с которым я работаю, чтобы получить базу данных, построенную на производственном сервере БД. DBA спросил меня, нужны ли мне первичные ключи во всех моих таблицах. Я сказал «да», по первому причинам, что это хорошая практика проектирования БД. Когда я спросил, почему администратор баз данных сказал мне, что желательно минимизировать количество таблиц на серверах баз данных нашей организации с первичными ключами для экономии ресурсов. Есть ли какой-то ущерб для первичных ключей в таблицах данных?Первичные ключи базы данных базы данных

ответ

1

Когда вы делаете «объединенную таблицу» первичными ключами из каждой вкладной таблицы, формируйте составной ключ для таблицы соединений. Вполне возможно, что этот составной ключ может быть проиндексирован.

Неэффективные стратегии индексирования могут ухудшить производительность.

Примером является двигатель InnoDB для MySQL, это тот, с которым я работаю много. С InnoDB каждая запись индекса объединяется со значением соответствующего первичного ключа. Когда запрос считывает запись через вторичный индекс, это используется с первичным ключом, чтобы найти запись.

Таким образом, первичный ключ может повлиять на производительность, особенно если это что-то вроде java UUID (128 байт).

+0

спасибо !! Это было очень полезно. Обстоятельства в вашем ответе не относятся к проблеме, с которой я имел дело, но это определенно помогает мне лучше понять. – drsnark

Смежные вопросы