Mysql to SQL Server: есть ли что-то похожее на кеш запросов? - PullRequest
2 голосов
/ 23 сентября 2010

Я пытаюсь оптимизировать SQL Server. У меня есть некоторый опыт работы с Mysql, и одна из вещей, которые обычно помогают, это включить кеширование запросов, которое будет в основном кэшировать результаты запросов, пока вы выполняете тот же запрос.

Есть ли что-то похожее на это на SQL Server? Не могли бы вы указать, как называется эта функция?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 23 сентября 2010

SQL Server не кэширует наборы результатов как таковые, но он кэширует страницы данных, которые были прочитаны, в дополнение к кешированию планов выполнения запросов.Это означает, что если ему придется снова читать те же страницы данных для ответа на запрос, это будет быстрее, поскольку меньше физических чтений (с диска), но вы все равно должны увидеть такое же количество логических чтений. Вот статья с более подробной информацией.

1 голос
/ 23 сентября 2010

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

Нет конкретного названия для этой функции, о котором я знаю. Это больше комбинация кэшей ...

...