Если вы обрабатываете большой объем данных, например, импортируете данные каждый день, и у вас для этого есть очень небольшое окно обработки, лучший способ, к сожалению, получить прямой доступ к вашей БД с использованием JDBC, рассмотрите все это:
- Сборщик мусора - избегайте создания и освобождения миллионов объектов при критических операциях
- Импорт данных помимо обработки данных. Попробуйте обработать данные в базе данных с помощью хранимой процедуры. Там вы можете достичь максимальной производительности, связывая данные с другими бизнес-данными (обычно необходимыми).
- Физическая проверка данных - Операции синтаксического анализа и физическую проверку вы предпочитаете выполнять только на этапе импорта, оставьте для хранимых процедур только очищенные данные, которые будут проверены на соответствие другим бизнес-данным внутри БД.
- Трубопровод. Рассмотрите возможность создания конвейера обработки, чтобы выполнять несколько этапов одновременно. При импорте данных уже импортированные данные асинхронно обрабатываются хранимыми процедурами и т. Д.
Я могу вам сказать, что в системах, когда мы должны обрабатывать около 8 миллионов записей (у меня объем не в байтах, но большой) ежедневно в течение всего 2 часов в день, таким образом, это был единственный способ достичь максимальной производительности даже с использованием максимально разрешенного оборудования.
Надеюсь, я дал вам новый полезный подход для рассмотрения.