当我在SQL Server中编写sql语句时,如何从表名中删除dbo前缀?

Sri*_*ddi 13 sql-server

我的架构中的所有表都有一个dbo前缀.现在在我的sql语句中,我不喜欢一直使用dbo.tablename.任何变通方法或配置更改?

SQL*_*ace 32

其实你应该留下那些dbo.语句因为SQL会更快,因为优化器不必查找模式

查看此链接还有没有所有者资格的过程调用的性能影响

  • 但这是否意味着如果我必须更改架构,我的所有 SQL 脚本都会崩溃?当然,优化器现在足够聪明,可以猜测我正在引用我可能引用的唯一模式......? (2认同)

mar*_*c_s 6

离开dbo实际上是有益的.前缀到位 - 毕竟,在SQL Server中,你可以有几个具有相同表名的模式("dbo."thingie),例如dbo.MyTable,joe.MyTable,frank.MyTable.

如果你然后发出一个SELECT(字段列表)FROM MyTable,SQL Server必须首先找出你真正意味着哪个"MyTable"表 - >这需要时间,直接指定你想要的"dbo.MyTable"会节省你的时间.

好的,单个查询不是很多 - 但SELECT查询是QUITE频繁的,所有这些都加起来!