网站要到数据库那里去请求数据,数据库在返回数据都是要占用网络的,客户访问一个数据,先要访问网站的服务器,然后网站服务器去向数据库请求数据,数据库返回数据,网站在把数据返回给客户。也就是说客户看到数据所用的时间基本决定于连个服务器之间的通信时间,PING下你的两个服务器,看看到底是哪个的网络慢了
这是一个典型问题,在网上搜一下就行了。给你搜了一个粘过来看看
1索引优化
建索引的选择必须结合SQL查询、修改、删除语句的需要,一般的说法是在WHERE里经常出现的字段建索引。如果在WHERE经常是几个字段一起出现而且是用AND连接的,那就应该建这几个字段一起的联合索引,而且次序也需要考虑,一般是最常出现的放前面,重复率低的放前面。
SQL Server提供了一种简化并自动维护数据库的工具。这个称之为数据库维护计划向导(Database Maintenance Plan Wizard ,DMPW)的工具也包括了对索引的优化。如果你运行这个向导,你会看到关于数据库中关于索引的统计量,这些统计量作为日志工作并定时更新,这样就减轻了手工重建索引或者DBCC INDEXDEFRAG所带来的工作量。如果你不想自动定期刷新索引统计量,你还可以在DMPW中选择重新组织数据和数据页,这将停止旧有索引并按特定的填充因子重建索引。
2
改善硬件(双CPU,Raid 5,增加内存)
tempdb这个临时数据库,它对性能的影响较大。tempdb和其他数据库一样可以增大,可以缩小。当数据文件需要增长的时候,通常不能保持剩余部分的连续性。这时文件就会产生碎片,这种碎片会造成性能下降。这种碎片属于外来性碎片。要阻止在tempdb中产生外来性碎片,必须保证有足够的硬盘空间。一般将tempdb的容量放到平均使用容量。而你也应该允许tempdb自动增长,比如你有个一个超大的join *** 作,它建立了一个超过tempdb容量的时候,该查询将失败。你还要设置一个合理的单位增长量。因为如果你设得太小,将会产生许多外来性碎片,反而会占用更多资源。sqlserver调优最有效的做法之一,就是把争夺资源的 *** 作独立出去。tempdb就是一个需要独立出去的部分而tempdb和其他系统库一样是公用的,是存取最可能频繁的库,所有处理临时表、子查询、GROUP BY、排序、DISTINCT、连接等等。它最适合放到一个具有快速读写能力的设备上。比如RAID0卷或RAID0+1卷上。
查询语句一定要使用存储过程;
3、查询尽量使用TOP子句
4将表按一定的约束分成子表,(如按分类)创建约束,在用Like 时,先用分类 and like , 应该可能解决问题 而且效果立秆见影!(你要确定SQL会认识你建的分区视图)我一个表有上百万的记录(700兆),用分区视图后,查询速度基本跟10万行一样
如果还是太慢,还可以考滤分布式分区视图!这总可以解决问题了吧!
关键在于你能否把大表按某种约束分解成子表
原因比较多:
1、网站服务器与sql服务器之间的一个网络延时;
2、sql数据库服务器压力大,反应速慢;
3、数据库设置不合理或者是程序调用存在不合理的地方,导致数据库产生死锁;
可以通过优化数据库结构,如增加索引等,优化程序使用数据库,使用缓存减少数据库访问等来解决网站访问慢的问题。数据库优化是很专业的工作,网站做大了都会遇到这样的问题。
数据库的结构很重要,表的建立,对需要用到的字段进行建立索引:尽量单表查询。
CREATE INDEX index_name ON table_name (column_name);
多字段查询,建立索引:
CREATE INDEX index_name ON table_name (column_name1,column_name2);
唯一索引:
CREATE UNIQUE INDEX index_name ON table_name (column_name);
收缩数据库
一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此 *** 作以免数据库日志过大
1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器-->双击打开数据库目录-->选择你的数据库名称(如论坛数据库Forum)-->然后点击右键选择属性-->选择选项-->在故障还原的模式中选择“简单”,然后按确定保存
2、在当前数据库上点右键,看所有任务中的收缩数据库,一般里面的默认设置不用调整,直接点确定
3、收缩数据库完成后,建议将您的数据库属性重新设置为标准模式, *** 作方法同第一点,因为日志在一些异常情况下往往是恢复数据库的重要依据
以上就是关于远程访问SQL Server2005数据库,读取数据很慢全部的内容,包括:远程访问SQL Server2005数据库,读取数据很慢、如何提高sql数据库的查询速度、sql server2005数据库是什么原因导致网页打开速度慢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)