易截截图软件、单文件、免安装、纯绿色、仅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   date,sum(amount)   from   record   group   by   date  
  (55秒)  
  select   count(*)   from   record   where   date   >  
  '19990901'   and   place   in   ('BJ','SH')   (27秒)  
  ----   分析:  
  ----date上有大量的重复值,在非群集索引下,数据在物理上随机存放在数据页上,在  
  范围查找时,必须执行一次表扫描才能找到这一范围内的全部行。  
  ----   2.在date上的一个群集索引  
  sele


相关文档:

Sql service error 1069解决方法

当修改了登录密码时,当启动mssqlserver的时候会出现error 1069, means logon error. 这是由于一下2个原因1.sqlserver的密码没有同步的原因,需要在administrator tools ->services-> right click mssqlserver -> property-> logon tab -> change passward to new one . 2.sqlserver的启动用户不对,需要在a ......

SQL SERVER中全文检索的创建与应用

      全文搜索的核心引擎建立在Microsoft Full-Text Engine for SQL Server (MSFTESQL) 服务提供支持
      面对海量的数据,如何才能找到我需要的?对数百万行文本数据执行的LIKE 查询可能需要花费几分钟时间才能返回结果;但对同样的数据,全文查询只需要几秒或更少 ......

SQL优化34条


(1)      选择最有效率的表名顺序(只在基于规则的优化器中有效):
ORACLE 的解析器按照从右到左的顺序处理from子句中的表名,from子句中写在最后的表(基础表 driving table)将被最先处理,在from子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要 ......

SQL语句优化实践之一SQL_TRACE

SQL语句优化实践之一SQL_TRACE
 
环境:在PL/sql上调试数据
Pl/sql developer工具连接实例后即作为一个用户进程占用一个session;
 
select * from  v$session t  where t.PROGRAM='plsqldev.exe' and  t.USERNAME='DZJC'
查询结果显示了几个关键的字段
SADDR   RAW(4)  S ......

在PHP中全面阻止SQL注入式攻击之二

一、 注入式攻击的类型
  可能存在许多不同类型的攻击动机,但是乍看上去,似乎存在更多的类型。这是非常真实的-如果恶意用户发现了一个能够执行多个查询的办法的话。本文后面,我们会对此作详细讨论。
  如果你的脚本正在执行一个SELECT指令,那么,攻击者可以强迫显示一个表格中的每一行记录-通过把一个例如"1=1"这 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号