Использование GO в SQL Server 2005 - PullRequest
1 голос
/ 07 октября 2010

Я работаю над SQL Server 2005, и я столкнулся с проблемой, что я выполнил многократный запрос на обновление для одной таблицы один за другим. Поскольку выполнение одного за другим занимает много времени, я узнал, что, используя «GO», я могу выполнить запрос один за другим. Как это

Update Table A ....

GO

Обновление таблицы A

GO

Обновление таблицы A

Я не уверен, что могу поставить отдельный оператор обновления, подобный этому, и он будет запускать запрос один за другим. Поскольку я делаю это на производстве, я должен быть уверен, что это должно работать.

Может ли кто-нибудь дать мне пример, где я вижу, что с помощью GO запрос выполняется один за другим, а не параллельно?

Ответы [ 2 ]

4 голосов
/ 07 октября 2010

С GO (Transact-SQL)

GO не является оператором Transact-SQL;это команда, распознаваемая утилитами sqlcmd и osql и редактором кода SQL Server Management Studio.

Утилиты SQL Server интерпретируют GO как сигнал о том, что они должны отправить текущий пакет операторов Transact-SQLэкземпляр SQL Server.Текущий пакет операторов состоит из всех операторов, введенных с момента последнего GO или с начала специального сеанса или сценария, если это первый GO.

2 голосов
/ 07 октября 2010

Ваши запросы не будут выполняться параллельно независимо от того, используете вы команду GO или нет. astander опубликовал ответ, объясняющий, что такое GO. Прочитайте это, затем возвращайтесь сюда.

Независимо от того, используете ли вы команду GO, ваш сценарий будет запускаться один оператор за другим. Они не работают параллельно.

Вы можете доказать это, написав такой скрипт (псевдокод, но вы поняли)

INSERT INTO MyTable ([id], [data]) VALUES (3, 'I am here')
DELETE FROM MyTable WHERE [id]=3

Вы можете поставить GO между этими утверждениями или нет, результат будет таким же: первая команда будет всегда полностью завершена до запуска второй.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...