摘要: 四、聚集索引的重要性和如何选择聚集索引在上一节的标题中,笔者写的是:实现小数据量和海量数据的通用分页显示存储过程。这是因为在将本存储过程应用于“办公自动化”系统的实践中时,笔者发现这第三种存储过程在小数据量的情况下,有如下现象:1、分页速度一般维持在1秒和3秒之间。2、在查询最后一页时,速度一般为5秒至8秒,哪怕分页总数只有3页或30万页。虽然在超大容量情况下,这个分页的实现过程是很快的,但在分前几页时,这个1-3秒的速度比起第一种甚至没有经过优化的分页方法速度还要慢,借用户的话说就是“还没有ACCESS数据库速度快”,这个认识足以导致用户放弃使用您开发的系统。笔者就此分析了一下,原来产生这种 阅读全文
posted @ 2012-03-14 15:25 .net 学习 阅读(501) 评论(0) 推荐(0) 编辑
摘要: 三、实现小数据量和海量数据的通用分页显示存储过程建立一个web 应用,分页浏览功能必不可少。这个问题是数据库处理中十分常见的问题。经典的数据分页方法是:ADO 纪录集分页法,也就是利用ADO自 带的分页功能(利用游标)来实现分页。但这种分页方法仅适用于较小数据量的情形,因为游标本身有缺点:游标是存放在内存中,很费内存。游标一建立,就将相 关的记录锁住,直到取消游标。游标提供了对特定集合中逐行扫描的手段,一般使用游标来逐行遍历数据,根据取出数据条件的不同进行不同的操作。而对于多表和 大表中定义的游标(大的数据集合)循环很容易使程序进入一个漫长的等待甚至死机。更重要的是,对于非常大的数据模型而言, 阅读全文
posted @ 2012-03-14 15:24 .net 学习 阅读(531) 评论(0) 推荐(0) 编辑
摘要: 二、改善SQL语句很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解。比如:select * from table1 where name='zhangsan' and tID > 10000和执行:select * from table1 where tID > 10000 and name='zhangsan'一些人不知道以上两条语句的执行效率是否一样,因为如果简单的从语句先后上看,这两个语句的确是不一样,如果tID是一个聚合索引,那么后一句仅仅从表 的10000条以后的记录中查找 阅读全文
posted @ 2012-03-14 15:23 .net 学习 阅读(533) 评论(0) 推荐(1) 编辑
摘要: 首先,为了建立一个测试环境,我们来往数据库中添加1000万条数据:declare @i intset @i=1while @i<=250000begininsert into Tgongwen(fariqi,neibuyonghu,reader,title) values('2004-2-5','通信科','通信科,办公室,王局长,刘局长,张局长,admin,刑侦支队,特勤支队,交巡警支队,经侦支队, 户政科,治安支队,外事科','这是最先的25万条记录')set @i=@i+1endGOdeclare @i intset 阅读全文
posted @ 2012-03-14 15:21 .net 学习 阅读(892) 评论(0) 推荐(0) 编辑