我想在我创建的数据库上实现数据库安全性,以便没有人可以从 SQL Server Management Studio 访问它,并且只能通过代码访问它。
那可能吗?如果不是,还有其他方法可以阻止用户访问数据库吗?
一位 SQL-DBA 告诉我,这些语句之间的性能存在巨大差距,这两个语句都是从存储过程调用的:
-- Procedure that select from table directly
Select * From [Table] Where condition
-- Procedure that select from a view
Select * From [View] Where condition
Run Code Online (Sandbox Code Playgroud)
SQL-DBA 告诉我从表中选择更快,因为当您从视图中选择时,将首先选择所有数据然后过滤,但从表中它将直接应用过滤。我是一名开发人员,我对数据库了解不多,所以我希望有专家在这方面给我建议。
回答这个问题后,我想我将能够知道使用视图是否是最佳实践。