ResultSet и агрегация - PullRequest
       3

ResultSet и агрегация

0 голосов
/ 01 апреля 2010

Хорошо, я признаю, что моя ситуация особенная

Существует система данных, которая поддерживает интерфейс SQL-92 и JDBC

Однако SQL-запросы довольно дороги, и в моем приложении мне нужно многократно извлекать одни и те же данные и объединять их («группировать по») в разных полях, чтобы показать разные измерения одних и тех же данных.

Например, на одном экране у меня есть три таблицы, которые показывают один и тот же набор или записи, но агрегированные по городам (1-я сетка), по населению (2-я сетка), по количеству детей (3-я сетка)

Это составляет 3 SQL-запроса (что очень медленно), ЕСЛИ кто-нибудь из вас может предложить любую идею, любую библиотеку из Apache Commons или из кода Google, чтобы я мог выбрать все записи в ResultSet и получить 3 массива группы данных разными полями из этого единственного ResultSet.

Мне не хватает очевидного и неожиданного решения этой проблемы?

1 Ответ

1 голос
/ 01 апреля 2010

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

Вы в основном создаете материализованное представление, которое содержит нужные вам агрегаты, а затем индексируете его. Вы можете присоединиться к нему или просто запросить его прямо против него.

На основании ваших данных City (1st grid), by Population (2nd grid), by number of babies (3rd grid) Я не думаю, что накладные расходы повредят INSERTS / UPDATES / DELETES.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...