示例:
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。
如有任何答复,将不胜感激。:)
发布于 2017-03-30 07:49:36
BEGIN和END类似于用于指示逻辑代码块的C# ({}) 中的打开大括号和结束大括号。它不会影响内存消耗。
发布于 2017-03-28 03:44:39
不,根据MSDN,BEGIN和END是控制流语言的关键词.这些只用于指示逻辑代码块,而不是内存消耗模型。同样,这些也不会影响事务的原子性。
发布于 2017-03-28 05:28:44
不,开始和结束与内存消耗无关。它只是一个逻辑块,用于对不同的SQL状态进行分组。
https://stackoverflow.com/questions/43060240
复制相似问题