22,209
社区成员
发帖
与我相关
我的任务
分享
SELECT * FROM vwFinPNCostShipDate B WHERE BalanceDate<'2007-04-01' AND EXISTS(
SELECT 1 FROM vwFinPNCostShipDate WHERE PN=B.PN AND ShipDate BETWEEN '2007-04-01' AND '2008-03-31')
SELECT * FROM vwFinPNCostShipDate B WHERE BalanceDate<'2007-04-01' AND EXISTS(
SELECT 1 WHERE PN=B.PN AND ShipDate BETWEEN '2007-04-01' AND '2008-03-31')
--我用我的实际数据库的数据作了个测试结果如下:
1、没有FROM语句
WHERE EXISTS (SELECT 1 WHERE [IODate] BETWEEN '2008-08-01' AND '2008-08-31')
(10616 個資料列受到影響)
执行时间0秒
2、有FROM语句
WHERE EXISTS (SELECT 1 FROM [Test].[dbo].[IOData] WHERE [IODate] BETWEEN '2008-08-01' AND '2008-08-31')
(31013 個資料列受到影響)
执行时间3秒
--很明显结果不一样,如果你的结果是一样的,很可能是巧合
--执行时间确实差了3秒,但是影响的数据条数相差很大
--我用我的实际数据库的数据作了个测试结果如下:
1、没有FROM语句
WHERE EXISTS (SELECT 1 WHERE [IODate] BETWEEN '2008-08-01' AND '2008-08-31')
(10616 個資料列受到影響)
执行时间0秒
2、有FROM语句
WHERE EXISTS (SELECT 1 FROM [Test].[dbo].[IOData] WHERE [IODate] BETWEEN '2008-08-01' AND '2008-08-31')
(31013 個資料列受到影響)
执行时间3秒
--很明显结果不一样,如果你的结果是一样的,很可能是巧合
select 1 where 1=1
/*
-----------
1
*/