SQL Server 2005 Производительность и пробелы

Мне сказали, и я не уверен, что верю этому: удаление пробелов из моих хранимых процедур в sql server 2005, прежде чем я отправлю их, заставит их работать быстрее и повысит производительность. Мне интересно, что думают все остальные?

Спасибо,

Скотт


person Scott    schedule 14.01.2009    source источник


Ответы (4)


Без бенчмаркинга я не могу «знать», но это звучит как бред.

Во-первых, я почти уверен, что SQLServer компилирует хранимые процедуры (это означает, что на это абсолютно ничего не влияет). Во-вторых, синтаксический анализ пробелов в любой системе не требует много времени.

person user54650    schedule 14.01.2009

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

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

person alex    schedule 14.01.2009

Я называю махинациями. Это даже не проходит тест на запах. sprocs компилируются, то, с чем работает SQL Server, — это план, созданный из вашего sproc — пробел не имеет значения.

person keithwarren7    schedule 14.01.2009

И да и нет. Оказывается, у вас может быть два запроса, идентичных за исключением пробелов, которые выполняются с разной скоростью на SQL Server. Я бы не поверил, если бы не видел своими глазами, однако это случилось со мной на работе (на sql server 2008), и после долгих испытаний, выдергивания волос и отрицания мне пришлось признать, что это происходит. Вот пример другого человека, столкнувшегося с той же проблемой:

Пространство в SQL Server 2008 R2 снижает производительность

Теперь о «нет» части ответа. У нас есть много запросов с большим количеством пробелов, и это произошло ровно один раз, насколько мне известно. Это совсем не стандартный способ ускорить запросы, просто случается очень странный пограничный случай. Я бы не стал тратить время на удаление пробелов из хранимых процедур, это почти никогда не поможет. Почти.

person Craig Smith    schedule 19.07.2011