在大学期间,它不停地通过视图来更新表,而当我进入工作场所时,又告诉我们不要通过视图来更新数据库。
在何处/是否存在显着的性能影响?还是更多这样的情况,高级开发人员/ DBA告诉初级人员不要执行此操作,因为他们可能会由于不正确的联接而无意间造成严重破坏。
编辑
我正在使用MSSQL 2000-2008(取决于客户端的详细信息)
您正在使用哪个DBMS?
—
a_horse_with_no_name 2011年
@a_horse_with_no_name已更新以指示DBMS。我希望答案在所有DBMS中都相当通用。我天真吗?
—
Tim Sparg 2011年
您是在谈论自然可更新的视图,还是必须为其编写
—
马丁·史密斯
INSTEAD OF
触发器的视图?我没听过这个建议,尤其是顺便说一句,您从未给出理由吗?
@TimSparg:这取决于如何使视图可更新。如果使用
—
a_horse_with_no_name
instead of
触发器,则不会有歧义,我看不出不使用触发器的理由。但是我对SQL Server不那么熟悉,所以我无法在没有触发器的情况下使用视图发表评论。
@马丁史密斯我在谈论自然可更新的观点。有人模糊地告诉我,存在陷阱和性能问题,然后在我的工作场所加强了这一点,如果我们明确要求不要通过观点进行更新。我开始认为这只是一些高级离散事件/ DBA们会说,因为他们不喜欢解释通过视图要小心更新(IE内VS外部连接)
—
蒂姆SPARG