СУБД и оптимизация View

1

верно ли, что СУБД может оптимизировать доступ к представлению путем выполнения запроса, который определяет представление только тогда, когда данные, поддерживающие представление, изменяются, а не каждый раз, когда я запрашиваю сам вид?

EDIT Что касается SQLite для Android?

  • 0
    СУБД? Любое, в частности, это (вероятно) специфично для базы данных.
  • 0
    вопрос об общей СУБД: является ли это общей чертой
Теги:
database
optimization

1 ответ

0

Delamere,

Ответ на ваш вопрос во многом зависит от реализации представлений, запросов к базе данных и базовой структуры. По сути, основная проблема связана с характером данных и тем, как часто их нужно требовать.

В некоторых моих опубликованных приложениях у меня есть данные, которые нужно запрашивать только в том случае, если Окно получает фокус. В этих случаях вызывается простое ручное обновление. Часто это атомные запросы, означающие, что они представляют собой минимальное количество данных. Используя этот метод, я объединил множество приложений и их данные в единый почти мгновенный запрос.

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

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

Что касается вашего вопроса, окончательный сценарий (я думаю) передает то, что вы просите. Короче говоря, ответ да... * но... * относятся к первым двум сценариям. Чтобы решить оптимальное решение для себя, вы должны получить ответы на следующие вопросы:

  1. Сколько данных вы запрашиваете в любой момент времени?

  2. Как часто эти данные меняются?

  3. Может ли это измениться во время работы вашего приложения?

Как только вы получите ответы на эти вопросы, вы можете соответствующим образом согласовать свое решение. Без дополнительной информации, это степень руководства, которое вы, вероятно, получите. Я также настоятельно рекомендую, чтобы, если вы не знакомы с базовыми концепциями проектирования баз данных, ознакомьтесь с концепциями нормализации, реляционными моделями и индексацией. Сильное их понимание может значительно повысить производительность вашей базы данных, вашего приложения и соответствующих представлений.

Надеюсь это поможет,

FuzzicalLogic

Ещё вопросы

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