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

如何让你的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上的一个群集索引  
  select   count(*)   from   record


相关文档:

SQL Server 2005中的CLR(2)

文章导航 SQL Server 2005 学习笔记系列文章导航
       这一节咱们来说说ClR的性能,我们不能只使用它而不去考虑到低 为什么要使用它或是在什么时候应该使用它,像我之前写的函数得到一个字符的长度的方法就没有太大必要了,但如果是像拆分字符这样的方法应该就有必要了,比如c#里的Split ......

PL/SQL developer将excel数据导入Oracle

准备工作:数据清洗。检查数据类型和表中的字段类型是否匹配;检查空值约束;去无关空格等。这些检查工作可以通过Excel的数据筛选功能,看一下每个字段所有的值,再选中不合规范的进行修改。   
    步骤:
1)登录pl/sql developer,登录时选择待导入表所在数据库,在查询窗口里输入sele ......

SQL Server 2005 服务器角色和数据库角色名全解

SQL Server 2005 服务器角色和数据库角色名全解
/*服务器角色*/
sysadmin
--在 SQL Server 中进行任何活动。该角色的权限跨越所有其它固定服务器角色。
serveradmin
--配置服务器范围的设置。
setupadmin
--添加和删除链接服务器,并执行某些系统存储过程(如 sp_serveroption)。
securityadmin
--管理服务器 ......

shp 文件导出sql或导入postgis

1.直接导入数据库
   shp2pgsql -s "4326" -W "GBK" E:\shape\Road_polyline.shp  
road_cross| psql -U postgres -h 172.17.40.83 -d test
2.导出sql
   shp2pgsql -s "4326" E:\shape\Road_polyline.shp blocks >
E:\roadcross\blocks.sql
3 ......

SQL Server 2005 CTE的用法

if object_id('[tb]') is not null
drop table [tb] 
go
create table [tb]([id] int,[col1] varchar(8),[col2] int) 
insert [tb] 
select 1,'河北省',0 union all
 select 2,'邢台市',1 union all
 select 3,'石家庄市',1 union all
 select 4,'张家口市',1 union all
&n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号