Мы работаем с базой данных нашего приложения на выделенном компьютере, работающем только на SQL Server 2005.
Этот сервер БД имеет 32 ГБ ОЗУ ... а сам файл базы данных составляет всего 6 ГБ.
Я бы хотел принудительно заставить несколько таблиц с интенсивным чтением / запросом в буфер памяти SQL для увеличения скорости.
Я понимаю, что SQL-сервер действительно хорош в хранении необходимых данных, кэшированных в памяти, после того, как они будут считаны с диска ... Но наши клиенты, вероятно, предпочли бы, чтобы их запрос выполнялся быстро в ПЕРВЫЙ раз.
«Самая быстрая производительность Секунда Время» не совсем изюминка продукта.
Если не считать старой команды DBCC "Таблица выводов" ... есть мысли?
Я написал «CacheTableToSQLMemory» Proc, который просматривает все индексы таблицы (Clustered & Non), выполняя «Select *» в таблице Temp. Я запланировал, что агент SQL будет запускать «кэшировать множество таблиц» Proc каждые 15 минут, пытаясь сохранить страницы в памяти.
Это работает в значительной степени ... но даже после того, как я кеширую все релевантные таблицы запроса, выполнение запроса все равно увеличило число кэшированных страниц для этой таблицы. тогда это быстрее во второй раз.
мысли?
У нас работает PAE & AWE. SQL настроен на использование от 8 до 20 ГБ ОЗУ.