2006-12-07

50种方法巧妙优化你的SQL Server数据库

来源: 本站收集整理 作者:佚名 评论 0 条
 
  
  49、
  
  (1)IF 没有输入负责人代码 THEN code1=0 code2=9999 ELSE code1=code2=负责人代码 END IF 执行SQL语句为: Select 负责人名 FROM P2000 Where 负责人代码>=:code1 AND负责人代码 <=:code2
  
  (2)IF 没有输入负责人代码 THEN  Select 负责人名 FROM P2000 ELSE code= 负责人代码 Select 负责人代码 FROM P2000 Where 负责人代码=:code END IF 第一种方法只用了一条SQL语句,第二种方法用了两条SQL语句。在没有输入负责人代码时,第二种方法显然比第一种方法执行效率高,因为它没有限制条件; 在输入了负责人代码时,第二种方法仍然比第一种方法效率高,不仅是少了一个限制条件,还因相等运算是最快的查询运算。我们写程序不要怕麻烦
  
  50、关于JOBCN现在查询分页的新方法(如下),用性能优化器分析性能的瓶颈,假如在I/O或者网络的速度上,如下的方法优化切实有效,假如在CPU或者内存上,用现在的方法更好。请区分如下的方法,说明索引越小越好。
  
  begin
  
  DECLARE @local_variable table (FID int identity(1,1),ReferenceID varchar(20))
  
  insert into @local_variable (ReferenceID)
  
  select top 100000 ReferenceID from chineseresume order by ReferenceID
  
  select * from @local_variable where Fid > 40 and fid <= 60
  
  end 和
  
  begin
  
  DECLARE @local_variable table (FID int identity(1,1),ReferenceID varchar(20))
  
  insert into @local_variable (ReferenceID)
  
  select top 100000 ReferenceID from chineseresume order by updatedate
  
  select * from @local_variable where Fid > 40 and fid <= 60
  
  end 的不同
  
  begin
  
  create table #temp (FID int identity(1,1),ReferenceID varchar(20))
  
  insert into #temp (ReferenceID)
  
  select top 100000 ReferenceID from chineseresume order by updatedate
  
  select * from #temp where Fid > 40 and fid <= 60 drop table #temp
  
  end

另附:存储过程编写经验和优化措施 From:网页教学网

  一、适合读者对象:数据库开发程序员,数据库的数据量很多,涉及到对SP(存储过程)的优化的项目开发人员,对数据库有浓厚爱好的人。  

  二、介绍:在数据库的开发过程中,经常会碰到复杂的业务逻辑和对数据库的操作,这个时候就会用SP来封装数据库操作。假如项目的SP较多,书写又没有一定的规范,将会影响以后的系统维护困难和大SP逻辑的难以理解,另外假如数据库的数据量大或者项目对SP的性能要求很,就会碰到优化的问题,否则速度有可能很慢,经过亲身经验,一个经过优化过的SP要比一个性能差的SP的效率甚至高几百倍。  

  三、内容:  

  1、开发人员假如用到其他库的Table或View,务必在当前库中建立View来实现跨库操作,最好不要直接使用“databse.dbo.table_name”,因为sp_depends不能显示出该SP所使用的跨库table或view,不方便校验。  

  2、开发人员在提交SP前,必须已经使用set showplan on分析过查询计划,做过自身的查询优化检查。  

  3、高程序运行效率,优化应用程序,在SP编写过程中应该注重以下几点:   

  a)SQL的使用规范:

   i. 尽量避免大事务操作,慎用holdlock子句,提高系统并发能力。


共7页: 上一页 [1] [2] [3] [4] [5] 6 [7] 下一页
(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:SQL Server可写脚本和编程扩展SSIS包  
下一篇:探讨SQL Server中Case 的不同用法
    评论加载中…
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号