Назад | Перейти на главную страницу

Требуется ли для MS SQL Server больше оперативной памяти, чем для MySQL?

Я разговаривал с профессионалом, работающим в хостинговой компании, и он сказал мне, что MS SQL Server требует больше памяти, чем MySQL, для выполнения своих запросов. Это правда? Как вы думаете, в чем причина этого? Что заставляет SQL Server требовать больше оперативной памяти?

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

Для: SQL Server использует - если не указано иное - столько ОЗУ, сколько он может для кэширования страниц базы данных в памяти. Это означает, что в любой активной среде, имеющей нетривиальные базы данных, размер которых превышает размер памяти, память БУДЕТ заполнена до 100%. Точка. Это сделано для ускорения работы, и SQL Server справедливо предполагает, что он работает в одиночку (это делают серьезные базы данных) и знает лучше, чем кеш файловой системы. Часто люди, плохо знакомые с SQL Server, не замечают этого. Если вы хотите, чтобы SQL Server использовал мало оперативной памяти, администратор ДОЛЖЕН СКАЗАТЬ ТАК (это параметр, ограничивающий используемую оперативную память).

Для b: SQL Server нацелен на масштабируемость высокого уровня, и MS часто не рассматривает случай нижнего уровня как что-то для оптимизации. Независимо от того, использует ли он 10 или 20 МБ ОЗУ, практически не имеет значения, но масштабируемость при достижении 1000 ГБ более важна.

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

Прошло некоторое время с тех пор, как я установил MySQL (покупка Sun уменьшила мою любовь к ним, а затем последующая покупка Oracle чуть не убила его), но, если я правильно помню, установка MySQL предлагает параметры, которые эффективно ограничивают MySQL использование памяти и т. д. из коробки. С другой стороны, выпуски SQL Server Standard и Enterprise настраивают SQL Server для максимального использования ресурсов сервера. Это отличается от SQL Server Express, который устанавливается таким образом, чтобы максимально ограничить необходимые ресурсы.

SQL Server Express можно настроить для использования большего количества ресурсов (до максимальной точки, поскольку это Express), а выпуски Standard и Enterprise могут быть настроены для ограничения доступа к памяти, процессорам и т. Д. Их довольно легко настроить с помощью SQL Server Management Studio. , но многие не трогают эти настройки. Таким образом, MS SQL Server из коробки потребует больше ресурсов, поскольку предполагает, что вы хотите максимально использовать ресурсы для достижения наилучшей производительности.

Итак, с учетом всего сказанного, если ваш хостинг-разработчик просто запустил установку и не пошел дальше, MySQL будет занимать меньше места. Но это не означает, что MySQL нельзя настроить на использование большего количества данных, и не означает, что SQL Server нельзя настроить на использование меньшего количества.