if exists(select * from table1),如果table1里有5000万条记录,selecct语句只是监测到有1条就返回,还是会把5000万条都select一遍才返回 if exists(select * from table1),如果table1里有5000万条记录,selecct语句只是监测到有1条就返回,还是会把5000万条都select一遍才返回 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 exists不返回结果,只进行测试 應該是监测到有1条就返回TRUE exists 检测是否存在,返回真假值,检测到一条即是存在的,下面的不会再查了 确定吗,exists会控制select的语句的执行细节吗? 加上top 1的语义? if exists(select 1 from table1), if exists(select * from table1) 就可以。后面开可以加条件if exists(select * from table1 where ******) begin ....... end else begin ...... end 错。急了。把*换成top 1 * selecct语句只是监测到有1条就返回真 SELECT 时会在内容中建立一个锁,在有索引的情况下,该锁会包含一些Filter的页/行,SQL自身的机制决定了其Filter包含第一条记录时则停止执行,这个机制就是Exists实质上就是调用了TOP 1的Filter器. SELECT 时会在内存中建立一个锁,在有索引的情况下,该锁会包含一些行,SQL自身的机制决定了其Filter包含第一条记录时则停止执行,这个机制就是Exists实质上就是调用了TOP 1的Filter. if exists (select 1 from t_5000万)Print 1if exists (select top 1 1 from t_5000万)Print 2你可查看执行计划 只要檢測到一閉符合條件的就返回 true 若沒有符合的返回 false 要看符合條件的到哪一筆了 若沒有符合的 還是會掃描全表啊 当插入一条记录(姓名,出生日期)时,自动产生出生年份。这应该怎样操作啊?请前辈指点! 声明变量的问题 我装了SQL SERVER2005 缺找不到运行的文件 救命的急!数据库被误删除了!在线! 求一条SQL语句 sql2005的维护计划 SQL2005 如何快速修改表结构 一個表关联的问题(急) 我用ado连oralce,不同的驱动引发不同的问题,具体请进!帮帮忙 关于通过IP访问MS SQLServer的问题(急) 如何简单的调试sql语句 高手帮看看
后面开可以加条件
if exists(select * from table1 where ******)
begin
.......
end
else
begin
......
end
Print 1
if exists (select top 1 1 from t_5000万)
Print 2你可查看执行计划