小编Mik*_*Fal的帖子

SQL Server如何处理视图后面的表上的索引?

所以我试图了解SQL Server如何在视图后面的表上使用索引.下面是场景:表A在字段1和2上具有复合聚簇索引,在字段3和4上具有非聚簇索引.

视图A针对表A编写以过滤掉其他字段,但字段1-4是视图的一部分.因此,我们编写一个查询,将视图连接到非聚簇索引字段上的另一个表.

生成的查询计划使用聚簇索引扫描(而不是预期的非聚簇索引搜索)命中表A. 但是,如果我们用表替换FROM子句中的视图,则查询计划会访问非聚簇索引,并获得我们预期的索引搜索.

SQL引擎是否应该使用构建视图的表上的索引?既然没有,为什么不呢?

sql sql-server indexing sql-server-2005

9
推荐指数
1
解决办法
2415
查看次数

如何基于数据库角色构建资源调控器分类器功能?

我正在尝试为SQL 2008资源调控器编写分类器函数.我想使用用户创建的数据库角色来确定用户是否应该进入特定的工作负载组.有问题的登录是SQL登录.我不能使用IS_MEMBER(),因为IS_MEMBER将自己限制为当前数据库上下文(在本例中为master).我无法使用[user database] .sys.database_principals,因为分类器函数必须是模式绑定的(因此限制查找到当前数据库上下文).此外,函数引用的任何视图也必须是模式绑定的,这意味着我无法在master中创建视图来引用用户数据库的安全视图.

这里的目标是能够基本上从master执行IS_MEMBER()以检查另一个数据库中的角色.

sql sql-server

6
推荐指数
1
解决办法
2451
查看次数

标签 统计

sql ×2

sql-server ×2

indexing ×1

sql-server-2005 ×1