38、SQL Server 索引与并发编程全解析

SQL Server 索引与并发编程全解析

1. 索引视图的使用与限制

在使用索引视图时,有一些重要的限制条件需要考虑:
- 引用其他视图。
- 引用非确定性函数。
- 引用数据库外的数据。
- 引用不同所有者拥有的表。

虽然这些规则看起来很严格,但它们是有原因的。维护索引视图类似于编写自己的非规范化数据维护函数。简单来说,构建非规范化数据的查询越复杂,维护它的复杂性就越高。向基表中添加一行可能会导致视图需要重新计算,涉及数千行数据。

索引视图在运行成本高但基础数据变化不大的视图中特别有用。例如,在决策支持系统中,每天加载一次数据。维护索引或重建索引会有开销,但如果能在非工作时间构建索引,就可以避免每次使用视图时重新进行连接和计算的成本。

替代方法

如果索引视图在某些情况下不适用,可以考虑将数据结果插入到永久表中。例如,对于示例查询,可以创建一个包含三列(productNumber、totalSales 和 countSales)的表,然后执行 INSERT INTO ProductAverageSales SELECT... 将查询结果放入该表中。任何查询都可以这样做,而不仅仅是符合严格准则的查询。虽然这对不直接查询表中数据的临时用户没有帮助,但肯定能提高直接访问数据的查询性能。

2. 索引创建的最佳实践

索引是一个复杂的主题,以下是创建新数据库解决方案时的一些最佳实践:
1. 测试后添加索引 :除非必要,否则不要随意向表中添加非约束索引来提高性能。在许多情况下,不添加索引也

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值