示例:
ALTER PROCEDURE [dbo].[SampleTable]
AS
BEGIN
BEGIN
WITH 'Test' AS
(
SELECT * FROM dario1
UNION ALL
SELECT * FROM dario2
UNION ALL
SELECT * FROM dario3
)
END
IF select Column1 = 1 FROM Test
BEGIN
--another commands.. etc..
END
IF select Column1 = 2 FROM Test
BEGIN
--another commands.. etc..
END
IF select Column1 = 3 FROM Test
BEGIN
--another commands.. etc..
END
END
请不要理会我的代码,这只是一个样本。
我的问题是:BEGIN
和END
有助于优化内存消耗吗?即使我有3张桌子,我的记录大约有数百万张?
我仍然对使用BEGIN
和END
感到困惑。
任何答案都将受到赞赏.. :)
答案 0 :(得分:3)
BEGIN和END 类似于C#({})中的开括号和右括号,用于表示逻辑代码块。它不会影响内存消耗。
答案 1 :(得分:0)
不,根据MSDN,BEGIN
和END
是控制流语言关键字。这些仅用于指示逻辑代码块,而不是内存消耗模型。同样,这些也不会影响交易的原子性。
答案 2 :(得分:0)
不,BEGIN和END与内存消耗无关。它只是一个用于对不同SQL语句进行分组的逻辑块