1、建索引,在经常需要查询的字段,做表连接的字段上建索引。
2、新建文件块,将文件块分布在不同的硬盘分区上。最好是多硬盘分在不同的硬盘上。
3、对大表进行分区,2005及以上版本提供了分区功能。
4、优化你的查询语句,IN、NOT IN这样的查询用EXISTS和NOT EXISTS进行优化,会提高些许效率。
5、如果以上都不能解决你的问题,那就进行数据迁移吧,把不经常用到的非常老的数据,移动到其他电脑上,从现有数据库中删除这些数据。
查询速度慢的原因很多,常见如下几种:
1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)
2、I/O吞吐量小,形成了瓶颈效应。
3、没有创建计算列导致查询不优化。
4、内存不足
5、网络速度慢
6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)
7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)
8、sp_lock,sp_who,活动的用户查看,原因是读写竞争资源。
9、返回了不必要的行和列
10、查询语句不好,没有优化