【发布时间】:2011-09-17 07:38:01
【问题描述】:
我使用 SQL Server CE 作为我的数据库。
我可以在 SQL Server CE 3.5 中创建视图吗?我尝试创建,但它的说法不支持创建视图语句。
在我的应用程序中,我有一个名为 Alarm 的表,有 12 列。但我总是只访问
三列。所以我想用这三列创建视图。
它会提高性能吗?
【问题讨论】:
我使用 SQL Server CE 作为我的数据库。
我可以在 SQL Server CE 3.5 中创建视图吗?我尝试创建,但它的说法不支持创建视图语句。
在我的应用程序中,我有一个名为 Alarm 的表,有 12 列。但我总是只访问
三列。所以我想用这三列创建视图。
它会提高性能吗?
【问题讨论】:
似乎 SQL Server Compact Edition does indeed not support creation of views。
但是,如果您只从表格中选择三列,则视图根本无法帮助您。
如果您有一个定义为AlarmView 的视图
CREATE VIEW dbo.AlarmView
AS
SELECT Col1, Col2, Col3 FROM dbo.Alarm
然后从该视图中选择(`SELECT * FROM dbo.AlarmView WHERE ......)基本上变成了
SELECT Col1, Col2, Col3 FROM dbo.Alarm
WHERE ........
所以你会得到你自己写的同样的声明。
视图不是主要是为提高性能而设计的(使用视图会有所帮助,您会限制 SELECT 中返回的列数) - 它们是为限制/建模对表格的访问,例如您可以授予某些用户 SELECT 视图上的权限,但不能授予基础表上的权限,这样用户将永远无法看到/选择任何其他列。
【讨论】: