太不可思议了:内存表竟然比永久表慢12倍以上???SQL Server怎样优化的?
语句A:
select a.StudNo,b.TrainPlanNo,a.AYearTermNo,b.CurSortNo,b.CurPrpNo,Credit
from StudScore a,TPlan_SpectTrainPlanCur b,ClassStudTab c,Class d,TPlan_CurBasicInfo e
where a.StudNo=c.StudNo and a.CurNo=b.CurNo and b.TrainPlanNo=d.TrainPlanNo
and b.SpectDireNo=c.SpectDireNo and c.ClassNo=d.ClassNo and a.CurNo=e.CurNo
and a.ScoringModeNo=1 and floor(a.ExamScore)>=60 and a.AYearTermNo= 20001
and b.CurSortNO=3 and b.CurPrpNo=1 --注意这里,最后的两个条件来自同一个表
语句B:
drop table aaa --使用表aaa暂存
select *
into aaa
from
(select a.StudNo,b.TrainPlanNo,a.AYearTermNo,b.CurSortNo,b.CurPrpNo,Credit
from StudScore a,TPlan_SpectTrainPlanCur b,ClassStudTab c,Class d,TPlan_CurBasicInfo e
where a.StudNo=c.StudNo and a.CurNo=b.CurNo and b.TrainPlanNo=d.TrainPlanNo
and b.SpectDireNo=c.SpectDireNo and c.ClassNo=d.ClassNo and a.CurNo=e.CurNo
and a.ScoringModeNo=1 and floor(a.ExamScore)>=60 and a.AYearTermNo= 20001
and b.CurSortNO=3 ) z --先不使用b.CurPrp=1这个条件
--下面再从表aaa中使用b.CurPrp=1这个条件
select * from aaa
where CurPrpNo=1
语句A执行要12秒,语句B不到1秒!测试数据不是很多,最后检索数据有1035条。
究竟是为什么?
相关推荐
SQL Server多表查询优化方案集锦
本文我们主要对SQL Server多表查询的优化方案进行了总结,并给出了实际的例子进行性能与效率的对比,需要的朋友可以参考下
优化SQL Server数据库服务器内存配置
在大多数情况下,为了充分发挥Windows NT 4.0系统效能,内存的作用比起处理器的处理能力更具有影响力,特别是在客户/服务器模式环境下更是如此,因为通常在这种环境下并不十分强调处理器的能力,相反却十分注重是否采用足够的内存来满足各个客户的应用需要。本文主要介绍利用如何优化SQLServer数据库服务器的内存配置提出一些认识和看法。
SQL Server数据库占用过多内存的解决方法
此文档中详细记载了,SQL Server数据库占用过多内存的解决方法,希望可以帮到下载的朋友们!
SQL Server删除表及删除表中数据的方法
本文介绍SQL Server中如何删除表,如何删除表中的数据。在删除表数据时有delete和truncate两种方法,delete和truncate有什么区别呢? SQL Server,我们现在基本上使用的最古老的版本应该是SQL Server 2000吧,应该没有更早的版本了吧?!从SQL Server 2000开始,到SQL Server 2005,2008,2012等,T-SQL的处理能力越来越强。今天我们就来说说如何使用T-SQL脚本来删除表,以及删除表中的数据。 删除表和删除表数据这是两回事!删除表表示不管表中有没有数据,将该数据库表彻底抹去,不留下任何东西。而删除表数据,只是删除表
SQL Server的内存为何不断增加
当SQL Server数据库引擎运行时,其默认内存管理行为并不是获取特定的内存量,而是在不产生多余换页I/O的情况下获取尽可能多的内存。为此,数据库引擎获取尽可能多的可用内存,同时保留足够的可用内存以防操作系统交换内存。SQL Server实例在启动时通常获取8MB到12MB的内存以完成初始化过程。当实例完成初始化后,就不会再获取更多的内存,直到用户连接到该实例并开始产生工作负荷。该实例根据需要不停地获取内存以支持工作负荷。随着更多的用户连接并运行查询,SQL Server将获取支持需求所需的额外内存。


疑难问题
