关于select两个奇怪的问题(100)

  • 主题发起人 主题发起人 lxddd
  • 开始时间 开始时间
L

lxddd

Unregistered / Unconfirmed
GUEST, unregistred user!
1.同样的功能 A.select 列 from 表 where 条件 B.select 列 into #a from 表 where 条件; select * from #a B为什么比A快很多?2.减少select的列,逻辑读次数大大减少,然而CPU和执行时间大大增加? 例如 select a,b,e from 表 where ...要比select a,b,c,d,e from 表 where ..慢很多?(条件相同)
 
这估计要和数据的存储有关了。象第一个,有可能select into采用的机制和select 机制不相同,估计有好的办法能迅速将一部分数据复制到新表中(有可能是并发执行),这样,再从一个小表中select就快多了。至于第二个,我也碰到过类似情况,当时时,select * from 表,很快,select * from 表 where 条件,就慢多了,而且这个表的数据量不大,好象就几百条记录,加了索引一样的慢。我估计也和数据的存储机制及读取机制有关。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部