SQL数据库容量大,查询速度慢,有何解决方案?

我们公司ERP软件使用的SQL数据库容量已经超过2G,并且还在不断增大(每半年约增加1G),在使用ERP过程中速度非常慢,有何长期的解决方法吗?
索引优化,磁盘阵列之类都已经在使用了,我希望了解一下,向我们公司现在这样的情况(数据库容量增大很快),有何长期的解决方案?谢谢大家的热心帮助!^_^

首先应该确定是谁慢的,往往是程序处理方面的问题而不是数据库的问题。
程序方面应该尽可能的减少数据查询返回的内容,比如可以查询返回ID,然后再根据ID一条一条的查询具体内容,看似慢了,在数据量达的时候快很多

对于数据可以参照下面几点
1、优化SQL语句,SQL语句对查询速度影响最大
2、对于经常查询的字段作索引。但是这样会增加修改时的压力
4、优化SQLServer,比如给其分配固定的内存,预先分配查询内存,调整CPU使用率等。
5、优化硬件资源,比如使用更高的服务器或者硬盘,独立安排数据库的数据文件和索引文件,将数据文件分布于不同的物理硬盘上等等
6、考虑使用分布数据库或者对大表进行拆分

另外,2G的数据库应该不算很大了,我处理过18G的数据库,8000万条记录,查询速度可以被接受
温馨提示:内容为网友见解,仅供参考
第1个回答  2006-06-19
常用查询作索引阿
第2个回答  2006-06-19
用磁盘阵列,或者把这个数据库单搁一盘
第3个回答  2006-06-19
查查看你的数据库日志有多大。。。定时清一下

sql查询太慢了如何进行优化?
1.**索引**:这是提高查询性能的最常用策略。索引的使用可以大大减少数据库搜索记录的数量。2.**避免全表扫描**:尽量避免在具有大量数据的表中进行全表扫描,特别是在关联查询时。3.**适当的字段类型**:选择适当的字段类型可以让SQL操作更高效。比如,如果一个字段不可能为负,则将其设置为无符号...

SQL SERVER数据库文件的大小会影响执行查询的效率吗?
数据库越大,查询的速度越慢.这必然的.可以适当删除一些无用数据,或将数据库拆分为多个数据库,然后用程序判断去打开哪一个数据库.

如何解决SQL Server数据库查询速度慢
对于大的数据库不要设置数据库自动增长,它会降低服务器的性能。 在T-sql的写法上有很大的讲究,下面列出常见的要点:首先,DBMS处理查询计划的过程是这样的: 1、 查询语句的词法、语法检查2、 将语句提交给DBMS的查询优化器3、 优化器做代数优化和存取路径的优化4、 由预编译模块生成查询规划5、 然后在合适的时间...

sql数据库文件过大,程序运行非常慢,怎么办
1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器-->双击打开数据库目录-->选择你的数据库名称(如论坛数据库Forum)-->然后点击右键选择属性-->选择选项-->在故障还原的模式中选择“简单”,然后按确定保存 2...

数据库访问量很大时,如何做优化?
数据库分库分表。一、SQL查询语句优化 1、使用索引 建立索引可以使查询速度得到提升,我们首先应该考虑在where及orderby,groupby涉及的列上建立索引。2、借助explain(查询优化神器)选择更好的索引和优化查询语句 SQL的Explain通过图形化或基于文本的方式详细说明了SQL语句的每个部分是如何执行以及何时执行的...

读数据库,数据量太大,访问过程中,出现内存访问异常,该如何解决?
数据量比较大的访问速度慢问题,就目前来说,我遇到的解决方法有一些,首先尽量不使用select *,因为数据库在进行查询时会把*对应的列进行解析,会使得数据库的访问速度变慢,查询时应该选择需要的列;另外在查询时需要在关键列上建立索引,索引是提高访问数据库速度的最重要的手段,一般访问速度慢的问题...

如何提高SQL Server大数据条件下的查询速度?
在用Like 时,先用分类 and like ,应该可能解决问题.而且效果立秆见影!(你要确定SQL会认识你建的分区视图).我一个表有上百万的记录(700兆),用分区视图后,查询速度基本跟10万行一样.如果还是太慢,还可以考滤分布式分区视图!这总可以解决问题了吧!关键在于你能否把大表按某种约束分解成子表.

处理上百万条的数据库如何提高处理查询速度_MySQL
1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后...

现在有一sql数据库,500多万条记录,按名称模糊查询的时候速度很慢,
在名称这个字段上加上索引。这会大大的减少时间,我昨天坐的一个测试,500万记录 查询需要60秒左右,加索引后只要5秒 如果是第一次查询的时候,它需要占用大量的内存,当内存大小不变时,才开始执行,所以需要一定的时间。

如何解决SQL Server查询速度缓慢的问题
1、把数据、日志、索引放到不同的I\/O设备上,增加读取速度,以前可以将Tempdb应放在RAID0上,SQL2000不在支持。数据量(尺寸)越大,提高I\/O越重要.2、纵向、横向分割表,减少表的尺寸(sp_spaceuse)3、升级硬件4、根据查询条件,建立索引,优化索引、优化访问方式,限制结果集的数据量。注意填充因子要适当(最好是使用...

相似回答