我的模式中的所有表都有一個dbo的前綴。現在在我的sql語句中,我一直不喜歡使用dbo.tablename。任何解決方法或配置更改?當我在SQL Server中編寫SQL語句時,如何從表名中刪除dbo前綴?
回答
其實你應該離開那些dbo。語句,因爲你的SQL會更快,因爲優化不必查找模式
看看這個鏈接也Performance Impact of Procedure Calls without Owner Qualification
我認爲你連接的用戶必須屬於dbo模式,然後你不必鍵入前綴,它會從用戶所屬的模式中推斷出來。
在SQL 2005及以上,同一用戶可以訪問多個模式。然後怎樣呢? – 2009-04-20 18:54:22
它實際上是有益離開DBO。前綴到位 - 畢竟,在SQL Server中,可以有多個具有相同表名的模式(「dbo。」thingie),例如, dbo.MyTable,joe.MyTable,frank.MyTable。
如果您然後發出SELECT(字段列表)FROM MyTable,SQL Server必須首先找出您真正意義上的「MyTable」表中的哪個表 - >這會花費時間,指定您想要的「 dbo.MyTable「將爲您節省時間。
好的,在單個查詢上不是很多 - 但是SELECT查詢是非常頻繁的,並且它們全部相加!
Marc
賞金問題並不完全是原來的問題。
當前答案不包含足夠的細節。
沒有一個答案實際上解決了如何刪除 dbo前綴或將其更改爲其他內容的問題。
dbo
是模式。您不能從表中刪除模式。你可以改變它。有很多例子。這裏是一個:How do I move a table into a schema in T-SQL。
就是這樣的,如果所有的表都在dbo架構
use mydatabase
go
select * from mytable
,如果你有多個數據庫,你可以做到這一點:
select * from mydatabase..mytable
- 1. SQL Server以dbo爲前綴編輯表名稱
- 2. 如何在SQL Server中的else語句中編寫SQL查詢
- 3. 在Sql Server中編寫TRANSFORM語句
- 4. SQL Server刪除語句計時
- 5. 如何在php中編寫SQL語句?
- 6. 如何從SQL轉儲中刪除表前綴?
- 7. SQL - 從'dbo'中刪除用戶登錄
- 8. 如何編寫SQL語句?
- 9. 如何編寫sql語句
- 10. 如何編寫SQL語句?
- 11. 在SQL中刪除前綴數字
- 12. 如何在SQL Server中編寫條件語句
- 13. 如何在sql server中編寫動態插入語句?
- 14. 如何在SQL Server中檢查存儲過程中的當前SQL語句
- 15. 在SQL Server 2008中編寫SQL語句或查詢的位置?
- 16. 如何在SQL Server中得到「選擇」語句中的表名
- 17. 在ASP.Net中編寫語句使用SQL Server時的C#
- 18. 如何使SQL語句(查詢)預編譯在SQL Server 2012中
- 19. 如何在sql server 2005中編寫sql server數據庫圖表?
- 20. SQL刪除語句
- 21. 從Sql Server中的表中刪除行
- 22. 編寫的SQL Server case語句
- 23. 通過C#編寫SQL-Server語句
- 24. SQL Server存儲過程刪除語句
- 25. 在同一語句中從兩個表中刪除SQL
- 26. 如何在Linq中編寫SQL查詢語句SQL
- 27. SQL:刪除帶有前綴的表格
- 28. 如何在SQL語句中獲得當前日期+ 4小時?
- 29. 如何在SQL Server 2008中使用Table別名編寫UPDATE SQL?
- 30. 當我刪除SQL Server中的父行時,如何刪除子行?
但是,這並不意味着如果我必須更改模式,我的所有SQL腳本都會中斷嗎?當然,這些優化器現在足夠聰明,可以猜測我引用了我可能引用的唯一模式...? – MGOwen 2014-07-18 12:00:11