Дизайн таблицы SQL Server - PullRequest
       0

Дизайн таблицы SQL Server

1 голос
/ 23 декабря 2011

У меня есть таблица, содержащая около 30 столбцов. 10 столбцов могут быть заполнены только из списка значений.

Сейчас эти значения хранятся как varchar, прямо в таблице.

Должен ли я создать отдельные таблицы для этих значений и сопоставить 2 таблицы с внешним ключом для идентификаторов?

Улучшит ли это производительность, если вместо слов будут идентификаторы? Или это снизит производительность, потому что когда мы запрашиваем, мы должны все время присоединяться? Или это не влияет на производительность?

Я также обеспокоен целостностью данных.

Спасибо.

1 Ответ

3 голосов
/ 23 декабря 2011

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

Итак, FK не повышают производительность, но создание индексов будет:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...