Эффективность - это всегда вопрос эффективности.Прежде чем высказать свое мнение, я предполагаю, что ваш вопрос уже основан на эффективном решении с точки зрения пользователя.
Во-первых, получение данных касается хранения компьютерной системы.Если ваши данные могут храниться полностью в самом быстром хранилище (например, в основной памяти), хранение данных в них - лучшая стратегия, чем другие.Но проблема с производительностью связана главным образом с нехваткой основной памяти, поэтому данные следует извлекать из вторичных хранилищ (более медленных), заменять другие данные в основной памяти и производить то, что вы хотите.Таким образом, вам приходится иметь дело с многоуровневыми системами хранения.
Во-вторых, когда вы имеете дело с многоуровневыми системами хранения (как и большинство компьютерных систем), способы эффективности зависят от того, насколько сокращается доступ к вторичной памяти.хранилища.Это не просто выигрыш в загрузке данных из более медленного хранилища в более быстрое, но также есть и жертвы, из-за которых эти данные удаляются.
В XML DOM и SAX являются двумя крайностями в работе с многоуровневымсистемы хранения.В системах баз данных полностью кэшированные индексы являются хорошим решением для производительности (когда индексы достаточно малы).В операционных системах файловый кеш всегда является одной из самых сложных задач в информатике.
Вы можете предварительно рассчитать некоторые данные, прежде чем потребуется.Вы можете использовать более эффективные структуры данных для улучшения извлечения данных.Вы можете грубо выделить больше основных воспоминаний для вашего приложения.Вы можете ... хорошо, покупая больше модулей памяти или SSD.Какие бы решения вы ни выбрали, это определенно искусство слияния в компьютерной науке.
Алгоритмы, структуры данных, системы баз данных, операционные системы, даже теории компиляторов, эти твердые металлы могут помочь вам создать меч, который пинает дракона в задницу.