Что лучше использовать хранимые процедуры вместо операторов SQL в приложении C? - PullRequest
4 голосов
/ 05 января 2012

Я разрабатываю приложение, которое запрашивает данные с хоста, а затем вставляет их в базу данных SQL. Мое приложение запускается в случайное время на наших ПК (у нас есть 600-700 ПК) с сервера, поэтому мое приложение не находится на всех ПК. Он находится только на сервере. Так что вполне возможно, что иногда он работает на 50 ПК.

Я получаю два типа сообщений об ошибках SQL. Первый - это тайм-аут, а другой - ошибка безопасности SSL. Сейчас мое приложение выполняет около 5-10 команд SQL. Поэтому я думаю переписать свой код для вызова хранимых процедур, которые могут уменьшить количество вызовов SQL. Вопрос только в том, стоит ли это того? Я имею в виду, конечно, что у него есть свои преимущества, потому что, если мне нужно что-то изменить, этого достаточно, чтобы изменить хранимую процедуру, и мне не нужно перекомпилировать мое приложение. Но не вызовет ли это проблемы для сервера SQL? Я имею в виду, разве это не проблема, когда одна и та же хранимая процедура будет выполняться 50 раз одновременно?

Так какой путь лучше? Используя хранимые процедуры или команды SQL в моем коде?

Спасибо!

1 Ответ

4 голосов
/ 05 января 2012

Если вы часто вызываете несколько одинаковых операторов SQL подряд, ответ очевиден: используйте SP, чтобы уменьшить количество циклов. Нагрузка на ваш SQL-сервер не изменится, но задержка в сети уменьшится из-за уменьшения количества циклов. В качестве дополнительного бонуса, ваша системная архитектура может станет проще для понимания и поддержки, потому что сложная логика SQL будет инкапсулирована в ваш уровень доступа к данным.

Это может не иметь никакого отношения к вашим ошибкам SSL, но ситуация с таймаутами имеет приличный шанс улучшения.

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