У меня сложная проблема с Java8 и Oracle. Наш API с Java8 отвечает за предоставление 1000 записей на вызов из Oracle БД. Мы используем JDB C Spring. В дизайне БД у нас есть 2 таблицы.
- Торговец: Id | имя | и другие столбцы. Общее количество столбцов в этой таблице: 11
- Контакт с продавцом: Это таблица с контактной информацией продавца для 3 различных типов контактов. Итак, у нас есть 3 строки на каждого продавца в этой таблице
- Связь с продавцом : В этой таблице хранится информация об идентификаторе продавца и родительском идентификаторе продавца
Наш API должен предоставить всю информацию о продавце, принадлежащую запрошенному родительскому идентификатору продавца.
У нас есть соединения с Oracle Stored Pro c и у нас тоже есть индексы. Когда мы уменьшаем количество столбцов, возвращаемых из БД, этот API работает хорошо. По мере увеличения количества столбцов производительность API снижается. Чтобы получить 1000 записей, этому API требуется в среднем около 2,5 секунд. Независимо от того, занимает ли меньший набор информации из БД с 1000 записями около 500 миллисекунд [хорошая производительность]
У нас также есть размер выборки, определенный во время операции чтения данных из JDB C до Oracle. Oracle версия 12.x, а API - Java Vertx
Пожалуйста, предложите.