SQL Server数据库查询优化50妙计
作者 佚名技术
来源 数据库编程
浏览
发布时间 2012-03-21
sonMemberID, * from chineseresume a,personmember b where a.personMemberID = b.referenceid and a.personMemberID = ’JCNPRH39681’ and b.referenceid = ’JCNPRH39681’ (A = B ,B = ’号码’, A = ’号码’) select a.personMemberID, * from chineseresume a,personmember b where b.referenceid = ’JCNPRH39681’ and a.personMemberID = ’JCNPRH39681’ (B = ’号码’, A = ’号码’) 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 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 数据库事务基本概念下一篇: sqlserver 存储过程例子
关于SQL Server数据库查询优化50妙计的所有评论