科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道在SQL Server中用索引视图查看性能状况

在SQL Server中用索引视图查看性能状况

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在SQL Server中,视图是一个保存的T-SQL查询。视图定义由SQL Server保存,以便它能够用作一个虚拟表来简化查询,并给基表增加另一层安全。但是,它并不占用数据库的任何空间。

作者:赛迪网 10392 来源:天新网 2008年3月25日

关键字: 数据库 Mssql SQL SQL Server

  • 评论
  • 分享微博
  • 分享邮件

现在你可以建立自己的视图。为使事情更加简单,我建立一个崭新的视图。

CREATE VIEW dbo.vw_SalesByProduct_Indexed

WITH SCHEMABINDING

AS

SELECT

Product,

COUNT_BIG(*) AS ProductCount,

SUM(ISNULL(SalePrice,0)) AS TotalSales

FROM dbo.SalesHistory

GROUP BY Product 

GO

下面的脚本给我们的视图建立索引:

CREATE UNIQUE CLUSTERED INDEX

idx_SalesView ON vw_SalesByProduct_Indexed(Product)

为表明已经给视图建立一个索引,并且它确实占用数据库的空间,运行下面的脚本查明聚集索引有多少行以及视图占用多少空间。

EXECUTE sp_spaceused 'vw_SalesByProduct_Indexed'

下面的SELECT语句和以前的语句相同,只是这次它执行一个聚集索引搜索,这个过程完成得非常快。

SELECT 

Product, TotalSales, ProductCount 

FROM vw_SalesByProduct_Indexed

WHERE Product = 'Computer'

不要忘记性能测试

索引视图如果使用得当,它会十分有用,因为它们能够显著地提高查询的性能。但是,由于聚集索引增加的性能,数据库引擎必须在视图基表的所有事务过程中维持那个索引。因为这个交换,建立一个索引视图可能对系统有益,也可能给系统造成伤害。确定这样做是有益还是有害的最佳方法就是进行全面的性能测试。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章