标签: indexed-views

如何在SQL Server中创建实体化视图?

我将设计一个DW,我听说了物化视图.实际上我想创建一个视图,它应该在更改基表时自动更新.任何人都可以用查询示例解释..

sql-server database-design indexed-views

89
推荐指数
4
解决办法
20万
查看次数

会话设置以支持索引视图

我在我的数据库中使用索引视图.因此客户端应该有一些会话连接设置来调用它们.我使用ado.net连接,命令来调用存储过程.每次我必须调用存储过程时,我创建连接(我希望连接池允许我快速执行此操作)并执行命令将这些设置应用于当前连接.

// some code to create a new connection
 //...
 //... 

 if (connection.State != ConnectionState.Open)
 {
     connection.Open();
 }



    using (var cmd = connection.CreateCommand())
    {
        cmd.CommandType = CommandType.Text;
        cmd.CommandText =
                            @"
                    SET ANSI_NULLS ON
                    SET ANSI_PADDING ON
                    SET ANSI_WARNINGS ON
                    SET ARITHABORT ON
                    SET CONCAT_NULL_YIELDS_NULL ON
                    SET QUOTED_IDENTIFIER ON
                    SET NUMERIC_ROUNDABORT OFF";
        cmd.ExecuteNonQuery();
    }
Run Code Online (Sandbox Code Playgroud)

其他想法:在每次调用存储过程之前添加这些设置:

command.CommandText = 'SET....';
command.CommandText += ' EXEC MyStroredProc @...'; 
Run Code Online (Sandbox Code Playgroud)

这个解决方案会导致一些性能问题,不是吗?

如果每次都必须创建新连接,我怎么能避免这么多额外的工作呢?如何自动应用这些设置?

解:

ALTER DATABASE [MyDB] 
    SET 
    ANSI_NULLS ON,
    ANSI_PADDING ON,
    ANSI_WARNINGS ON,
    ARITHABORT ON,
    CONCAT_NULL_YIELDS_NULL ON, …
Run Code Online (Sandbox Code Playgroud)

.net c# ado.net sql-server-2008 indexed-views

2
推荐指数
1
解决办法
1829
查看次数