怎么提高数据库的查询效率?

对于一个有超过百万条记录的数据表,怎么才能提高效率。
VB+ADO+SQL SERVER2000.
我能想到的有建立索引、使用存储过程。还有什么其他办法吗?
---------------------------------------------------------------

主要是建立索引吧?!
---------------------------------------------------------------

拆表,升级硬件。检索时尽量带参数,要用的数据才检出来。
---------------------------------------------------------------

对关联字段建索引;
优化SQL语句,减少或避免多表连结。
---------------------------------------------------------------

优化是个说不完的话题
光说SQL语句,就要注意:
1、不要写效率低的语句,特别是有些复杂的,如果效率低就坚决不用,考虑用其他方法代替。
2、注意配合索引
3、存储过程和触发器的效率是由存储过程和触发器内的语句的效率决定的,特别是触发器,如果效率不好会影响整个服务器的性能。

---------------------------------------------------------------

添加内存、CPU
建立视图
充分利用高速缓存
充分利用索引和SQL语句语法
无关紧要的查询可以进行脏读
---------------------------------------------------------------

斑竹的观点非常正确,优化的问题涉及非常多的方面,如果有MONEY,硬件的升级可以弥补软件的缺陷,反之,如果再软件架构设计的好会起到事半功倍的效果。....总之,要费脑子的!

---------------------------------------------------------------

建索引的选择必须结合SQL查询、修改、删除语句的需要,一般的说法是在WHERE里经常出现的字段建索引。如果在WHERE经常是几个字段一起出现而且是用AND连接的,那就应该建这几个字段一起的联合索引,而且次序也需要考虑,一般是最常出现的放前面,重复率低的放前面。

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus