分析是否需要建冗余的步骤
2012-09-25 20:35
218 查看
首先确定使用冗余的最需操作是那些,其次明确这些操作的使用环境,再怎样的情况下使用,最后确定这些操作都需要用到怎样的Sql语句,一句还是多句。
1、对于一个操作可能会有1个语句和两条语句.或多个语句。
2、两条语句的查询时间>= 一条语句
>用asp。net变量做中间变量
=用事务或存储过程,用SQL变量来存储中间变量
3、查询效率分析
点查询 —>有索引的情况,找一条,效率最高。数据库会使用数据结构的折半查找等方法。
集合查询----> 从4万条中找出若干条。(连续或者不连续),聚簇索引。查询效率在点查询和遍历查询之间。
遍历查询----> 时间慢。例如like语句,需要遍历
对于效率高的不需要再分析下边情况,说明不需要用冗余。
对于复杂的,效率不高的,需要继续根据以下流程进行分析。
4、分为用户所能容忍的时间、使用对象、使用频率
所能容忍的时间:
例如:1、1年使用一次的汇总,对于用户来说,可以容忍这个操作执行时间长。
2、对于像有些界面上边的Tree型控件的各内容的快速切换,执行时间要短,可行也就允许几毫秒时间。
3、输入文本,或者一些信息,点保存,这个操作的时间可以允许有个1到2秒时间。
使用对象:
学生点击自己的信息:这个操作,可以提前将信息存到Session里边
管理者点学生:
使用频率:1、整体频率(同一时间有多少人进行此操作)
可以大致估算。可能对于同一件事在不同时间有不同的整体频率
例如通知,若是学校通知,或者院级通知或者系级通知的整体频率是不一样的。
5、设计冗余。
有两种方法:
① 在数据库中空间换去时间。
比如设计冗余表的方法。
② 。Net空间换取时间。即将经常查询的信息存入变量中
此方法有有三种:
1、普通变量。
2、Session值中。
3、Application集合中。
属于集合,在同一时间只能有一个操作使用application集合。因为他会在使用时给application变量加锁。
1、对于一个操作可能会有1个语句和两条语句.或多个语句。
2、两条语句的查询时间>= 一条语句
>用asp。net变量做中间变量
=用事务或存储过程,用SQL变量来存储中间变量
3、查询效率分析
点查询 —>有索引的情况,找一条,效率最高。数据库会使用数据结构的折半查找等方法。
集合查询----> 从4万条中找出若干条。(连续或者不连续),聚簇索引。查询效率在点查询和遍历查询之间。
遍历查询----> 时间慢。例如like语句,需要遍历
对于效率高的不需要再分析下边情况,说明不需要用冗余。
对于复杂的,效率不高的,需要继续根据以下流程进行分析。
4、分为用户所能容忍的时间、使用对象、使用频率
所能容忍的时间:
例如:1、1年使用一次的汇总,对于用户来说,可以容忍这个操作执行时间长。
2、对于像有些界面上边的Tree型控件的各内容的快速切换,执行时间要短,可行也就允许几毫秒时间。
3、输入文本,或者一些信息,点保存,这个操作的时间可以允许有个1到2秒时间。
使用对象:
学生点击自己的信息:这个操作,可以提前将信息存到Session里边
管理者点学生:
使用频率:1、整体频率(同一时间有多少人进行此操作)
可以大致估算。可能对于同一件事在不同时间有不同的整体频率
例如通知,若是学校通知,或者院级通知或者系级通知的整体频率是不一样的。
5、设计冗余。
有两种方法:
① 在数据库中空间换去时间。
比如设计冗余表的方法。
② 。Net空间换取时间。即将经常查询的信息存入变量中
此方法有有三种:
1、普通变量。
2、Session值中。
3、Application集合中。
属于集合,在同一时间只能有一个操作使用application集合。因为他会在使用时给application变量加锁。
相关文章推荐
- 设置win8.1唤醒电脑时是否需要输入密码的操作步骤
- 分析很透彻的C/C++ 基本类型及是否需要多线程锁
- 分析oracle索引空间使用情况,以及索引是否需要重建
- 分析:企业是否需要基于IP的灾难恢复?
- 分析oracle索引空间使用情况,以及索引是否需要重建
- 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为(转)
- 分析:企业是否需要基于IP的灾难恢复?
- JVM——引用计数算法和可达性分析算法——判断对象是否需要被回收
- 户外媒体大数据测评分析只需要三个步骤即可完成?
- SSM框架做批量删除 详细步骤分析
- 预热篇- 总结Delphi Xe4 做App的的可行性分析. ios平台的问题还需要自行学习
- 保存bean时,对bean中的外键对象需要判断fkbean的fkid是否为空
- 给Clouderamanager集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解)
- 中国大陆做nodejs开发需要的步骤
- 需求分析步骤
- 在进行vue的学习,项目中需要引入bootstrap、jquery的步骤。
- iOS7.1以后企业应用发布需要HTTPS协议,解决步骤
- 如何确定所打Patch是否需要停机
- ADO.net连接数据库步骤及分析
- 你的企业是否需要首席数字官?