Dmitry67 wrote:Да, людской фактор в большиз фирмах вещь еще та
Что касается памяти то я вот что имел ввиду конкретно
Пусть stored procedure делает ref=malloc(1024*1024*1024), то есть аллокирует доЯя чего то один гиг памяти. Откуда он возьмется ?
Для примера допустим что у вас всего полтора гига. Естественно база, точнее ее кеш занимает почти всю оперативку. В случае managed code SQL server поймет что ситуация конфликтная и будет пытаться поджаться, это лучше чем page faults от него и stored procedures. Как жто построено в IBM ?
Это видимо будет зависить от платформы. На МФ такими вопросами ведает не сервер базы данных (хранимые процедуры вообще не в адресном пространстве сервера БД выполняются), а ОС. Считается нормальным что на МФ одновременно выполняются много серверов, сервисов, приложений, пакетов и т.д.. Если бы было возможным, что один жадный процесс захватил память, то работать вообще было бы не возможно.
В системе VM, например, еще в 80-е существовало такое понятие как рабочий набор - количество реальной памяти, которое может окупировать отдельная ВМ, если она окупирует больше, то система начинает "свапать" ее же страницы.
А что в случае MS SQL хранимые процедуры выполняются в том же адрессном пространстве (или как там это называется) что и сам сервер? Это должно быть не безопасно.