WEB开发网
开发学院数据库MSSQL Server 50种方法优化SQL Server数据库查询 阅读

50种方法优化SQL Server数据库查询

 2007-05-15 09:30:42 来源:WEB开发网   
核心提示: 34、没有必要时不要用DISTINCT和ORDER BY,这些动作可以改在客户端执行,50种方法优化SQL Server数据库查询(8),它们增加了额外的开销,这同UNION 和UNION ALL一样的道理,Create table 也会锁系统表(不管是临时表还是系统表),所以千万不要在事

34、没有必要时不要用DISTINCT和ORDER BY,这些动作可以改在客户端执行。它们增加了额外的开销。这同UNION 和UNION ALL一样的道理。

select top 20 ad.companyname,comid,position,ad.referenceid,worklocation, convert(varchar(10),ad.postDate,120) as postDate1,workyear,degreedescription FROM jobcn_query.dbo.COMPANYAD_query ad where referenceID in('JCNAD00329667','JCNAD132168','JCNAD00337748','JCNAD00338345',
'JCNAD00333138','JCNAD00303570','JCNAD00303569',
'JCNAD00303568','JCNAD00306698','JCNAD00231935','JCNAD00231933',
'JCNAD00254567','JCNAD00254585','JCNAD00254608',
'JCNAD00254607','JCNAD00258524','JCNAD00332133','JCNAD00268618',
'JCNAD00279196','JCNAD00268613') order by postdate desc

35、在IN后面值的列表中,将出现最频繁的值放在最前面,出现得最少的放在最后面,减少判断的次数。

36、当用Select INTO时,它会锁住系统表(sysobjects,sysindexes等等),阻塞其他的连接的存取。创建临时表时用显示申明语句,而不是 select INTO. drop table t_lxh begin tran select * into t_lxh from chineseresume where name = 'XYZ' --commit 在另一个连接中Select * from sysobjects可以看到 Select INTO 会锁住系统表,Create table 也会锁系统表(不管是临时表还是系统表)。所以千万不要在事物内使用它!!!这样的话如果是经常要用的临时表请使用实表,或者临时表变量。

上一页  3 4 5 6 7 8 9 10  下一页

Tags:方法 优化 SQL

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接