Все таблицы в моей схеме имеют префикс dbo. Теперь в моих операторах sql мне не нравится использовать dbo.tablename все время. Любые обходные пути или изменения конфигурации?
Как удалить префикс dbo из имен моей таблицы, когда я пишу свои SQL-запросы в SQL Server?
Ответ 1
На самом деле вы должны оставить эти dbo. потому что вы SQL быстрее, так как оптимизатору не нужно искать схему
Посмотрите также эту ссылку Влияние производительности процедур на вызовы без квалификации владельца
Ответ 2
На самом деле полезно покинуть дбо. префикс на месте - в конце концов, в SQL Server вы можете иметь несколько схем ( "dbo." thingie) с тем же именем таблицы, например. dbo.MyTable, joe.MyTable, frank.MyTable.
Если вы затем выдаете SELECT (список полей) FROM MyTable, SQL Server должен сначала определить, какая из таблиц "MyTable" вы действительно имеете в виду → это затрачивает время, указав сразу с места в карьер, что вы хотите "dbo.MyTable" сохранит ваше время.
ОК, не много для одного запроса, но запросы SELECT QUITE часты, и все это складывается!
Марк
Ответ 3
Вопрос о награде - это не совсем оригинальный вопрос.
Текущие ответы не содержат достаточно деталей.
Ни один из ответов на самом деле не затрагивает вопрос о том, как удалить dbo или изменить его на что-то еще.
dbo
- это схема. Вы не можете удалить схему из таблицы. Вы можете изменить его. Существует много примеров. Вот один из них: Как переместить таблицу в схему в T-SQL.
Ответ 4
просто так, если вся ваша таблица находится в схеме dbo
use mydatabase
go
select * from mytable
Если у вас есть несколько баз данных, вы тоже можете это сделать:
select * from mydatabase..mytable
Ответ 5
Я думаю, что пользователь, с которым вы подключаетесь, должен принадлежать схеме dbo, и тогда вам не нужно будет вводить префикс, он выведет его из схем, к которым принадлежит пользователь.