当前位置:编程学习 > asp >>

SQL 2005数据库存放一个接近30G的数据库,程序是ASP程序,最近发现检索数据非常的慢,请教下如何提高性能百度知道

追问:
单个数据库存了近6年的数据,每天的大概存15兆左右的数据。
非常感谢你,问下SQL分区表技术与直接使用SQL集群技术那个更好些。
各有各的技术使用指征,如果你的库中大部分的数据不查询或者较少查询,那么可以将那些不查询或是较少查询的数据备份下来,这样保证一个小数据库在网上运行——如果一直不对数据库备份,人家要数据库管理员干什么?

如果极少一部分会更新,而大部分在查询,那么可以使用分区表,将大量的数据分在不同的硬盘上,以提供IO的利用率,试想同时读N张表的速度与读一张表的速度相比,你应该知道那个速度快,且小表与大数的读取也是不相同的——这就是已分区表的原理。当然,如果你查询的结果集经常会涉及多个不同的分区表,那么就算你读速度快了,但最后要将几个分区表的结果同时合并,也就是将表进行联接,那么这种效率而言并不能占多大的优势!

所以服务集群的优势你就知道在哪里了,就是结果集可能会涉及多个分区!那么这时我们要用到服务器集群,这集群对于硬件来说是一次较大的投入。

还有一种中庸的方法,就是虽然涉及多个已分区表,但是查询又同时进行了分页时,也可以考虑使用已恰好区表。也就是说将分区限制在了一个页内或是可能会用到一部分的两个已分区表数据,同时速度也是很客观的!

简单来说,对于不活动数据(不查询,不更新)或者活动非常小的数据(极少查询),那可以考虑备份的方式,将这些不活动数据务份下来,而不必运行在网站上,一般情况下这种情形较多!那么我们可以减小网站运行的库文件大小。

已分区表是在同一数据库实例上的同一数据库表的分散技术。一般不需要或是极少需要投入硬件成本。是解决大量表的一种技术之一。

服务器集群则是一个分布式并发处理——投要你再入N个服务器,速度当然要比已分区表速度快的多,但硬件投入极大!
答案:30G?呵呵,好象SQL还支持不了那么大的单个数据库文件的!

那么你现在要考虑的是如何提高sql的性能而已!

那么对于这类问题,索引等技术已经达到不你的要求了,那么还有两种方案供你选择:

一个是sql的已分区表技术,这个可以解决大数据的问题,但没有具体的分析我也确定不了!

另一个是直接使用SQL集群,不过我还是不想信你有这么大的一个数据库文件的!
其他:ASP做了很多年了。
想提高效率,主要是表的设计和检索方式。
要有主键、索引
检索要少用嵌套等等。
具体方法要视具体情况而定。 

上一个:asp.net网站中,添加好了程序,而且也没错误,但是点击登录按钮总是么反应,这是怎么回事呢
下一个:返回一个带有HTML标签的字符串,然后如何在ASP.NET的后台程序中进行还原,获取其中的table和td,之类的标莀百度知道

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,