首先确定使用冗余的最需操作是那些,其次明确这些操作的使用环境,再怎样的情况下使用,最后确定这些操作都需要用到怎样的Sql语句,一句还是多句。


1、对于一个操作可能会有1个语句和两条语句.或多个语句。

2、两条语句的查询时间>= 一条语句

>用asp。net变量做中间变量

=用事务或存储过程,用SQL变量来存储中间变量

3、查询效率分析

点查询 —>有索引的情况,找一条,效率最高。数据库会使用数据结构的折半查找等方法。

集合查询----> 从4万条中找出若干条。(连续或者不连续),聚簇索引。查询效率在点查询和遍历查询之间。

遍历查询----> 时间慢。例如like语句,需要遍历


 对于效率高的不需要再分析下边情况,说明不需要用冗余。

 对于复杂的,效率不高的,需要继续根据以下流程进行分析。

4、分为用户所能容忍的时间、使用对象、使用频率


所能容忍的时间:

例如:1、1年使用一次的汇总,对于用户来说,可以容忍这个操作执行时间长。

、对于像有些界面上边的Tree型控件的各内容的快速切换,执行时间要短,可行也就允许几毫秒时间。

3、输入文本,或者一些信息,点保存,这个操作的时间可以允许有个1到2秒时间。

使用对象:

Session里边

 管理者点学生:


使用频率:1、整体频率(同一时间有多少人进行此操作)

             可以大致估算。可能对于同一件事在不同时间有不同的整体频率

例如通知,若是学校通知,或者院级通知或者系级通知的整体频率是不一样的。

5、设计冗余。

有两种方法:

① 在数据库中空间换去时间。

比如设计冗余表的方法。

② Net空间换取时间。即将经常查询的信息存入变量中

此方法有有三种:

1、普通变量。

2、Session值中。

3、Application集合中。

application集合。因为他会在使用时给application变量加锁。