Информация об изменениях

Сообщение Re[37]: EntityFramework - тормоз от 19.04.2015 17:49

Изменено 19.04.2015 17:50 Evgeny.Panasyuk

Здравствуйте, gandjustas, Вы писали:

_>>Да, и кстати чем больше база, тем собственно больше будет бонус от подключения кэша (он то по любому в оперативной памяти сидит и при этом занимает не особо много места).

G>Это полнейший бред. Чем больше база, тем больше памяти нужно для каждого запроса. При чтении с дика данные поднимаются в память (buffer pool), а уже оттуда отдаются на клиент. Если у тебя есть кеш, то он отнимает память у buffer pool и базе приходится чаще читать с диска.

В buffer pool ведь сидят страницы, в которых находятся целые строки таблиц, так? Тогда:
1. Закэшированный результат запроса скорей всего будет занимать меньше меньше памяти чем "эквивалентный" набор страниц, так как в нём будет меньше столбцов и строк — только самое необходимое. А следовательно будет больше свободной памяти, которую можно использовать под другие страницы, или другие кэши запросов.
2. Даже если все необходимые страницы в памяти, то "эквивалетная" закэшированному запросу операция может занять намного больше времени — так как требуется обработать больше данных из random'ных участков памяти.
Re[37]: EntityFramework - тормоз
Здравствуйте, gandjustas, Вы писали:

_>>Да, и кстати чем больше база, тем собственно больше будет бонус от подключения кэша (он то по любому в оперативной памяти сидит и при этом занимает не особо много места).

G>Это полнейший бред. Чем больше база, тем больше памяти нужно для каждого запроса. При чтении с дика данные поднимаются в память (buffer pool), а уже оттуда отдаются на клиент. Если у тебя есть кеш, то он отнимает память у buffer pool и базе приходится чаще читать с диска.

В buffer pool ведь сидят страницы, в которых находятся целые строки таблиц, так? Тогда:
1. Закэшированный результат запроса скорей всего будет занимать меньше памяти чем "эквивалентный" набор страниц для повторного запроса, так как в нём будет меньше столбцов и строк — только самое необходимое. А следовательно будет больше свободной памяти, которую можно использовать под другие страницы, или другие кэши запросов.
2. Даже если все необходимые страницы в памяти, то "эквивалетная" закэшированному запросу операция может занять намного больше времени — так как требуется обработать больше данных из random'ных участков памяти.