Плохо ли иметь несколько таблиц в схеме, а некоторые нет? - PullRequest
2 голосов
/ 02 ноября 2011

Я недавно начал работать над веб-приложением в новой компании и начинаю вносить несколько изменений, например, весь мой новый код использует хранимые процедуры, а не строку запроса в коде позади.

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

Мой вопрос: будет ли плохой практикой добавление новых таблиц / процедур и т. Д. В схему базы данных, но все остальное оставить, как потом медленно добавлять существующие схемы в схемы? Или мы должны пройти и добавить все в схемы за один раз?

Также существует ли риск (производительность или иное) для некоторых таблиц в схеме, а некоторых просто в базе данных, как сейчас?

Извините, что, возможно, довольно простой вопрос, но я не администратор баз данных и до сих пор пытался найти какие-либо ответы по этому поводу.

Спасибо

Ответы [ 2 ]

3 голосов
/ 02 ноября 2011

Я думаю, что постепенный / рефакторинг при переходе к схемам по ходу дела - это хороший подход. Я не вижу проблем с производительностью от этого. Самая большая проблема будет заключаться в том, чтобы не забыть запустить схему, определяющую ваши объекты (что вы должны делать в любом случае даже сегодня, так как это лучший метод для повышения производительности)

SELECT columns 
FROM dbo.Table

вместо

SELECT columns
FROM Table

Если вы согласны с вашей схемой квалификации, вы должны быть в порядке Если вам будет лень с этим, у вас будет больше проблем с устранением неполадок.

0 голосов
/ 02 ноября 2011

Схемы широко не используются. Вы обнаружите, что некоторые элементы управления исходным кодом базы данных и генераторы кода плохо работают со схемами. Даже сама база данных неудобна схемами и, например, откажется кэшировать план выполнения, если есть вероятность несоответствия безопасности (схемы могут иметь свои собственные настройки безопасности.)

Как триггеры, схемы лучше вообще избегать.

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