Как я могу удалить префикс dbo из моих имен таблиц, когда я пишу свои операторы sql в SQL Server? - PullRequest
13 голосов
/ 20 апреля 2009

Все таблицы в моей схеме имеют префикс dbo. Теперь в моих инструкциях sql я не люблю все время использовать dbo.tablename. Какие-нибудь обходные пути или изменения конфигурации?

Ответы [ 5 ]

31 голосов
/ 20 апреля 2009

На самом деле вы должны оставить эти DBO. операторы, потому что ваш SQL будет быстрее, так как оптимизатору не нужно искать схему

Проверьте эту ссылку также Влияние на производительность процедурных вызовов без квалификации владельца

6 голосов
/ 20 апреля 2009

На самом деле выгодно покидать ДБО. префикс на месте - в конце концов, в SQL Server у вас может быть несколько схем ("dbo." thingie) с одним и тем же именем таблицы, например, dbo.MyTable, joe.MyTable, frank.MyTable.

Если вы затем выполните SELECT (список полей) из MyTable, SQL Server должен сначала выяснить, какую из таблиц «MyTable» вы действительно имеете в виду -> это стоит времени, сразу указав, что вы хотите »dbo .MyTable "сэкономит ваше время.

ОК, не так много для одного запроса - но запросы SELECT довольно часты, и все это складывается!

Марк

2 голосов
/ 26 января 2017

просто так, если все ваши таблицы находятся в схеме dbo

use mydatabase
go
select * from mytable

если у вас несколько баз данных, вы можете сделать это тоже:

select * from mydatabase..mytable
1 голос
/ 24 января 2017

Вопрос о награде - это не совсем оригинальный вопрос.

В текущих ответах недостаточно подробностей.

Ни один из ответов фактически не затрагивает вопрос о том, как удалить префикс dbo или измени его на что-то другое.

dbo - это схема. Вы не можете удалить схему из таблицы. Вы можете изменить это. Есть много примеров. Вот один из них: Как переместить таблицу в схему в T-SQL .

0 голосов
/ 20 апреля 2009

Я думаю, что пользователь, к которому вы подключаетесь, должен принадлежать схеме dbo, и тогда вам не нужно будет вводить префикс, это будет выводить его из схем, к которым принадлежит пользователь.

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