sql-server - 如何列出 SQL Server 中的所有索引 View ?

标签 sql-server tsql sql-server-2008 metadata indexed-view

如何获取 SQL Server 数据库中具有索引的 View 列表(即索引 View )?

我发现在开发过程中运行“ALTER VIEW”非常容易,并且忽略了我不仅在编辑 View ,而且还删除了现有索引。所以我认为最好有一个小的实用程序查询,它可以列出所有带有索引的 View 。

最佳答案

SELECT o.name as view_name, i.name as index_name
    FROM sysobjects o 
        INNER JOIN sysindexes i 
            ON o.id = i.id 
    WHERE o.xtype = 'V' -- View
    

微软 recommends使用较新的 SQL Server 系统 View 。这是等效的:

SELECT 
    o.name as view_name, 
    i.name as index_name
FROM 
    sys.objects o 
    JOIN sys.indexes i ON o.object_id = i.object_id 
WHERE 
    o.type = 'V' -- View

关于sql-server - 如何列出 SQL Server 中的所有索引 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4963028/

相关文章:

sql-server - 将列主键和外键 VARCHAR 数据类型更改为 INT 数据类型

sql-server - 我的 IN 子句导致对 T-SQL 中的索引进行全面扫描。我能做些什么?

java - 使用 MSSQL Server 2008 进行 hibernate

sql - 事务 SQL : Only most recent changes if 2 columns value are the same

sql - 将日期时间列拆分为年、月和周

sql - 案例声明中的案例

sql-server - SQL Server 索引 - 索引中包含哪些列?

c# - 资料库; POCOs/Linq-to-Sql 实体类之间的映射

SQL Server 子查询返回了 1 个以上的值;用不同的条件选择同一行两次;

sql - 如何确定 COALESCE 运算符成功选择了哪一列/值?