<< Microsoft Visual Sudio 2005有中文版 | 回blog首頁 |
HOWTO: Windows XP running under Xen 3.0 on Ubuntu Dapper Drake >>
2006年07月13日
有關synonym的討論
Oracle的數據字典的內部處理是不會使用synonym的, 他創建這些synonym給我們
DBA使用, 只是為了我們的方便, 另外這些數據字典視圖的查詢也不會很頻繁..
如果 (hard) parse 很多,同義詞,尤其是 public 同義詞 可能會有一定的影
響,到底多大倚賴於系統特性。
因為對於對象的搜索順序: 私有對象--- > 私有同義詞----> 公有同義詞
關鍵在於(hard) parse 的數量,一個涉及良好的系統, hard parse很少的情況
下,也就無所謂通過什麼形式(synonym / 直接spicalfy object.)去知道真正的
OBJECT了……
不過,出於程序移植的方便,很多時候會不把owner的名字寫在 object前面了。不
然的話,如果有時候需要把整個Application object移到其他database, 就必須使
用特定的用戶名,很是侷限……
另一方面,有時候出於安全的考慮,可能不會直接用object的 owner
來連接
database,而是使用不同的權限的user 來連接DB.比如說,有一些程序可以使用只
需query某個table,那麼,它只需用到具有query這 幾個table權限的用戶來連接。
而另一個程序需要所有DML權限,那麼,我們會給他一個具有更多 權限的用戶。有
時候,可能Object的Owner 完全不會拿來給應用連接,以避免DDL無操作……
為了滿足以上兩個要求,同義詞是無可避免的……
整個討論:http://www.itpub.net/589816,1 .html
DBA使用, 只是為了我們的方便, 另外這些數據字典視圖的查詢也不會很頻繁..
如果 (hard) parse 很多,同義詞,尤其是 public 同義詞 可能會有一定的影
響,到底多大倚賴於系統特性。
因為對於對象的搜索順序: 私有對象--- > 私有同義詞----> 公有同義詞
關鍵在於(hard) parse 的數量,一個涉及良好的系統, hard parse很少的情況
下,也就無所謂通過什麼形式(synonym / 直接spicalfy object.)去知道真正的
OBJECT了……
不過,出於程序移植的方便,很多時候會不把owner的名字寫在
然的話,如果有時候需要把整個Application object移到其他database, 就必須使
用特定的用戶名,很是侷限……
另一方面,有時候出於安全的考慮,可能不會直接用object的
database,而是使用不同的權限的user 來連接DB.比如說,有一些程序可以使用只
需query某個table,那麼,它只需用到具有query這
而另一個程序需要所有DML權限,那麼,我們會給他一個具有更多
時候,可能Object的Owner 完全不會拿來給應用連接,以避免DDL無操作……
為了滿足以上兩個要求,同義詞是無可避免的……
整個討論:http://www.itpub.net/589816,1
引用URL
http://cgi.blog.roodo.com/trackback/1883582