Производительность: локальная по сравнению с базой данных - Entity Framework

1

Я искал простой ответ, но я его не нашел (хотя, если я слепой или нетерпеливый, я буду рад, если кто-то опубликует мне ссылку)

У меня есть следующий код в моем репозитории

get
{
    if (context.entity.Local.Count == 0)
    {
        return context.entity;
    }

    return context.entity.Local;
}

По здравому смыслу я знаю, что слово local не запрашивает базу данных и не получает результат из памяти. Тем не менее, мне хотелось бы знать, насколько быстрее получается набор результатов из local чем из базы данных? Это огромная разница?

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

благодаря

  • 1
    Насколько быстрее это не важно, важно то, нужны ли вам данные из базы данных или нет.
  • 0
    Я понимаю это, но если нет снижения производительности - зачем создавать локальный? Можно также перейти к базе данных - тогда разработчик точно знает, что это последние данные сервера
Показать ещё 4 комментария
Теги:
entity-framework
asp.net-mvc

1 ответ

-3

Во-первых, ваш здравый смысл не имеет никакого смысла. Локальный - это ничего, что определено вообще в EF, поэтому это зависит от того, кто сделал репозиторий, и мог бы также ссылаться на что-то другое.

Второе - много. Легкий коэффициент 1000. База данных - это отдельный процесс, который включает в себя генерацию и затем анализ SQL. 2x сетевой передачи (или передачи сетевого айлера). Сравните это, просто прочитав свойство. 1000, вероятно, является консервативным. Не то, чтобы в базе данных было много времени для начала.

Это зависит от того, что вы делаете - но кеширование в памяти и избежание базы данных - это правильная стратегия, которая может иметь большое значение, производительность разумная. За счет большего количества проблем с потреблением памяти и изменениями синхронизации. Более поздняя версия не имеет отношения к некоторым (никогда не меняющимся) данным.

  • 1
    Локальный IS определен в EF msdn.microsoft.com/en-us/library/gg696248(v=vs.113).aspx . Я также не согласен с «легко множителем 1000», вы не можете этого сказать.
  • 0
    Итак, теперь у меня есть ответ (комментарий), в котором говорится, что скорость не является фактором, а ваш - «1000», о чем нужно подумать! Спасибо!
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню