Мое приложение запускает SQL Server 2008 на Windows Server 2008 с использованием Tomcat.
Я использую облачный сервер
Один из моих запросов занимает ровно 48 секунд для запуска из приложения. Он извлекает 425 записей из базы данных.
Я не был удивлен продолжительностью времени.
Хотя аналогичный запрос в Oracle выполнялся за 6 секунд, в установке Oracle было 2 ГБ памяти и четырехъядерный процессор, тогда как в моем SQL Server было установлено 1 ГБ памяти и один процессор 2,66 ГГц.
Поэтому я увеличил спецификации сервера до 2 ГБ. Не было никаких изменений.
Затем я увеличил спецификации сервера до двухпроцессорного с одного процессора.
Я был удивлен, обнаружив, что запрос теперь занимает больше времени - ровно 70 секунд!
Мне известно, что преобразование запроса из P / SQL в T / SQL могло быть выполнено очень неэффективно. И могут быть различия в скорости между Oracle и SQL Server.
Однако мой главный вопрос действительно заключается в том, почему один и тот же запрос теперь должен выполняться медленнее в двухъядерной системе, чем в одноядерной?
Спасибо!