SQL数据库查询的优化

来源:百度知道 编辑:UC知道 时间:2024/06/10 20:44:48
WEB服务器 上安装的 SQL2005
请问各位 如何使 数据库的查询优化 使其查询速度更快

这个问题太大了,不懂就加内存,加CPU,用RAID存储。

1,使用合理的表结构,尽量减少表关联,有时宁愿多占用些空间,存储些在别的表中存在的重复字段。

2,合理使用索引。

3,使用存储过程。

4,注意SQL语句的写法。针对“从下而上”解析的数据库系统,将关键性语句条件(比如主键、索引,确定的值等)放置在后面。反之,放置在前面。比如SQLSERVER数据库,你应当将首先去除了大部分记录的条件放置在where的前面部分。
举例:
假设主键为key;创建日期为 c_date,你的条件中包含对key和c_date的范围查询,那么你应当写成:
where
key >= @from_key and key <= @to_key and
c_date >= @from_date and c_date <= @to_date
而不应该写成:
where
key c_date >= @from_date and c_date <= @to_date and
>= @from_key and key <= @to_key

它们速度是不一样的。

以上几点都将提高查询速度!

第二次回答:
有人对第三条“使用存储过程”提高效率有异议,那么请问,你认为存储过程除了可以完成复杂的判断和较复杂的运算、集中控制之外的主要作用是什么?

在运行存储过程前,数据库已对其进行了语法和句法分析,并给出了优化执行方案。这种已经编译好的过程可极大地改善SQL语句的性能。由于执行SQL语句的大部分工作已经完成,所以存储过程能以极快的速度执行。

任何一个设计良好的数据库应用程序都应当尽可能地用到存储过程。

我提到的以上几点,是针对入门者而言,也是比较容易做到的,对于要深入研究这个问题的,那么这些远远不够,但是,做好这些,可以将速度提高一大截了。

3,使用存储过程。是提高查询效率的方法?胡扯 回答问题前自己懂点再回答
单纯的一条查询语