2013-07-24 4 views
2

Лучше ли сделать два вызова базы данных или один вызов базы данных с некоторой обработкой java?Запрос базы данных против обработки java

Один вызов базы данных получает только соответствующие данные, которые должны быть разделены на два разных списка, для которых требуется несколько строк java.

ответ

3

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

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

2

Как правило, Javaprocessing лучше, если это не простой запрос БД, который вы делаете.

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

2

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

2

Тестирование является ключевым. Некоторые вопросы, которые вы можете спросить себя:

  • Насколько велик каждый вызов базы данных
  • Насколько больше/меньше бы звонки, если я объединил их
  • Если я нажимаю ОБРАБОТКУ клиента?
  • Сроки
    • Насколько критично время обработки?
    • Вам нужно разворачивать БД, или это нормально, чтобы повернуть обратно на клиента?
    • Разница незначительна?
2

Java Обработка гораздо быстрее, чем SQL Fetch, как я была такая же проблема, поэтому я рекомендую вам получать данные одного с некоторой обработкой, потому что, возможно, время оба варианта принимает имеют незначительные различия, но некоторые компьютеры уделите много времени, чтобы получить данные из БД, поэтому я предлагаю вам просто получить отдельные данные с некоторой обработкой Java.