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

如何让你的SQL运行得更快

 
 
如何让你的SQL运行得更快
 
----   人们在使用SQL时往往会陷入一个误区,即太关注于所得的结果是否正确,而忽略   
  了不同的实现方法之间可能存在的性能差异,这种性能差异在大型的或是复杂的数据库   
  环境中(如联机事务处理OLTP或决策支持系统DSS)中表现得尤为明显。笔者在工作实践   
  中发现,不良的SQL往往来自于不恰当的索引设计、不充份的连接条件和不可优化的whe   
  re子句。在对它们进行适当的优化后,其运行速度有了明显地提高!下面我将从这三个   
  方面分别进行总结:   
  ----   为了更直观地说明问题,所有实例中的SQL运行时间均经过测试,不超过1秒的均   
  表示为(<   1秒)。   
  ----   测试环境--   
  ----   主机:HP   LH   II   
  ----   主频:330MHZ   
  ----   内存:128兆   
  ----   操作系统:Operserver5.0.4   
  ----数据库:Sybase11.0.3   
  一、不合理的索引设计   
  ----例:表record有620000行,试看在不同的索引下,下面几个   SQL的运行情况:   
  ----   1.在date上建有一非个群集索引   
  select   count(*)   from   record   where   date   >   
  '19991201'   and   date   <   '19991214'and   amount   >   
  2000   (25秒)   
  select  &n


相关文档:

月份处理及SQL时间条件instr函数

    YearCode:=yearof(Date);
      MonthCode:=monthof(Date);
      if  MonthCode>9 then
        FTime1:=inttostr(YearCode)+inttostr(MonthCode)
      else
 &nb ......

SQL中逻辑查询处理的各个阶段

 有关SQL中逻辑查询处理的各个阶段(自己搞的例子,不对的欢迎指正哦)
SQL不同于其他的编程语言的最大最大特征有3个吧,
一个是它是面向集合的编程思想,第二个是三值逻辑(这个后面会说到),还有一个就是今天主要要说的查询元素的逻辑处理次序。
请看一个基本查询的逻辑过程:
(8)  SELECT (9) DISTINCT ( ......

Sql 2005 递归查询

 Oracle中的递归查询可以依靠增强的sql语句START WITH ...CONNECT BY PRIOR来搞定.sql 2005中不支持该语句,以下示例可以实现递归查询.
WITH TREE(xzdm,Prexzdm,lvl,topxzdm)
AS
(
    SELECT xzdm,prexzdm,1,prexzdm as topxzdm from xzdm WHERE Prexzdm = '000000000000'
 &nbs ......

sql 交叉表

交叉表语句的实现:
  用于:交叉表的列数是确定的
  select name,sum(case subject when '数学' then source else 0 end) as '数学',
  sum(case subject when '英语' then source else 0 end) as '英语',
  sum(case subject when '语文' then source else 0 end) as '语文'
  from test
  group by name ......

SQL重复记录查询

SQL重复记录查询
1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
select * from
people
where peopleId in (select   peopleId from   people group by   peopleId
having count
(peopleId) > 1)
2、删除表中多余的重复记录,重复记录是根据单个字段(p ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号