易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL语句优化

SQL语句的优化就是将性能较低的SQL语句转换达成同样目的性能优异的SQL语句
下面我们一起来看看一些可以优化SQL的方法,希望大家多提出意见我们共同学习或者是大家有什么好的优化方法可以提出来共享一下。
 
第一种优化(使用指定列代替”*”)
       使用“*”可以降低编写SQL语句的复杂度,但是却降低了SQL语句执行的效率。
 
通过SQL语句的执行过程我们来了解SQL语句的执行效率。当一条SQL语句从客户端发送到服务器。ORACLE需要执行以下步骤:
 
1.       在共享池中搜索SQL语句是否存在。
2.       验证SQL语句的语法是否正确。
3.       执行数据字典来验证表和列的定义。
4.       获取对象的分析锁,以便在语句的分析过程中对象的定义不会被改变。
5.       检查用户是否具有相应的操作权限。
6.       确定语句的最佳执行计划。
7.       将语句和执行方案保存到共享的SQL区
 
通过上面的第3条我们已经看出来了,如果我们用了“*”替代列的话就会执行我们的第三步,相反如果我们明确的指出了列ORACLE就不会去执行第三个步骤。
下面可以通过测试来看看:
SET TIMING ON
Select * from User
 
SET TIMING ON
Select user from User
通过上面两条语句的对比我们可以清楚的看出两条语句的执行时间的差别,如果数据较多更为明显。
 
第二(使用WHERE子句来替代HAVING)
使用HAVING子句过滤分组,也就是在分组之后过滤,因为行分组需要一段时间,所以应该尽量使用WHERE子句过滤行,减少分组的行数,也就减少了分组的时间,从而提高查询效率。
 
第三(使用“>=”替代“>”|使用“<=”替代“<”)
例如“某列<=8888”和“某列<8889”检索结果是一样的,但是效率并不是一样的。
使用“>=”替代“>”|使用“<=”替代“<”
上面两个运算的区别在于,如果使用“某列<8889”则ORACLE会定位到8889,然后再去找比8889小的数据,如果使用&ldquo


相关文档:

SQL日志文件太大,清理方法

最佳答案方法1: 
在查询分析仪里面运行下面代码: 
backup log dbname with NO_LOG
backup log dbname with TRUNCATE_ONLY
DBCC SHRINKDATABASE(dbname)
方法2: 
进入企业管理器,选中数据库 
所有任务->分离数据库 
到数据库文件的存放目录,将dbname_log.LDF文件删除,怕S的话 ......

[SQL删除] SQL语句中delete, drop, truncate比较


DELETE from SCOTT.EMP;
DROP from SCOTT.EMP;
TRUNCATE from EMP;
相同点 
truncate和不带where子句的delete, 以及drop都会删除表内的数据 
不同点: 
1. truncate和 delete只删除数据不删除表的结构(定义) 
    drop语句将删除表的结构被依赖的约束(constrain),触发器(trigge ......

SQL表生成语句

USE [haitest]
GO
/****** 对象:  Table [dbo].[haiTable]    脚本日期: 03/13/2010 20:10:59 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[haiTable](
 [buy_original_ticket] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
 [buy_id] [nvar ......

性能监控之监控SQL语句

性能监控之监控SQL语句 
分析表 
analyze table tablename compute statistics for all indexes; 
analyze table tablename compute statistics for all indexed columns; 
analyze table tablename compute statistics for table; 
监控事例的等待 
select event,sum(decode(wait_Tim ......

SQL语句中的Having子句与where子句之区别


SQL语句中的Having子句与where子句之区别
---WHERE句子作用于基本表或试图,从中选择满足条件的元组。HAVING作用于组,从中选择满足条件的组---
在说区别之前,得先介绍GROUP BY这个子句,而在说GROUP子句前,又得先说说“聚合函数”——SQL语言中一种特殊的函数。例如SUM, COUNT, MAX, AVG等。这 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号