powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Поиск множества даних в JPA/JPQL
11 сообщений из 11, страница 1 из 1
Поиск множества даних в JPA/JPQL
    #38433116
denis111111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день снова!

Хочу спросить нормально ли так делать:

Представте что есть две таблицы, в них даних может быть по 500 тисяч, а может и более...
Так вот я хочу взять дание из одной таблицы и посмотреть есть ли совпадения в другой.

Перебирать в цыкле долго по одному запросу.
Быстрее одним запросом, там будет примером:
Код: java
1.
2.
3.
 public List<Entity> findMatch(List<String> key) {
        return getEntityManager().createQuery("SELECT e FROM Entity e WHERE e.key IN :key").setParameter("key", key).getResultList();
    }



Так вот этот List<String> key огромен, и будет все расти, как быть, будет все нормально работать в будущем? Таблицы то будуть расти...

И если грунтовно, то хочется взнать как работать с большимы объемами даных на уровне простого SQL и JPA/JPQL, если кто-то знает ресурс, поделитесь пожалуйста.
...
Рейтинг: 0 / 0
Поиск множества даних в JPA/JPQL
    #38433134
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denis111111Перебирать в цыкле долго по одному запросу.

Оказывается! SQL запрос работает быстрее чем полный перебор списка в Java. Неожиданно.

denis111111Быстрее одним запросом, там будет примером:
Код: java
1.
2.
3.
public List<Entity> findMatch(List<String> key) {
        return getEntityManager().createQuery("SELECT e FROM Entity e WHERE e.key IN :key").setParameter("key", key).getResultList();
}



Facepalm. Учить SQL:
[SRC T-SQL]
SELECT * FROM engineer WHERE engeneer.fk_employee NOT IN ( SELECT pk FROM employee);
[/SRC]

А после изучения SQL, читать эту тему
http://www.sql.ru/forum/1053639/metod-vozvrashhaushhiy-resultset-i-kol-vo-otkrytyh-kursorov-oracle
...
Рейтинг: 0 / 0
Поиск множества даних в JPA/JPQL
    #38433151
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, на счет IN (,,,,)
- Сервера имеют ограничение на количетство элементов в IN (,,,,)
- Так как у вас список динамический, то и построение IN (,,,,) будет динамическим, не все сервера смогут закешировать план запроса, так как запрос часто разный
- Кроме первого ограничения, по-моему, можно ещё упереться в лимит binding variables
...
Рейтинг: 0 / 0
Поиск множества даних в JPA/JPQL
    #38433173
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а чем Join-ы не устраивают?
...
Рейтинг: 0 / 0
Поиск множества даних в JPA/JPQL
    #38433176
denis111111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
javapecker,

Таблицы две, но на разных серверах.
Разве что писать все в временную таблицу и тогда join.
...
Рейтинг: 0 / 0
Поиск множества даних в JPA/JPQL
    #38433192
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapeckerа чем Join-ы не устраивают?
:)
...
Рейтинг: 0 / 0
Поиск множества даних в JPA/JPQL
    #38433200
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denis111111Таблицы две, но на разных серверах.
И, правда, какая не значительная мелочь. Даже не стоит упоминания.
...
Рейтинг: 0 / 0
Поиск множества даних в JPA/JPQL
    #38433208
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
:)
я где-то пошутил? или затупил? не понимаю
...
Рейтинг: 0 / 0
Поиск множества даних в JPA/JPQL
    #38433209
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denis111111Таблицы две, но на разных серверах.

RDBMS одна и та же? Даже физичиски разные сервера, зачастую можно залинковать.
...
Рейтинг: 0 / 0
Поиск множества даних в JPA/JPQL
    #38433218
denis111111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczRDBMS одна и та же? Даже физичиски разные сервера, зачастую можно залинковать.

MySQL там и там.

Ого, впервые такое слышу...
...
Рейтинг: 0 / 0
Поиск множества даних в JPA/JPQL
    #38433221
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Поиск множества даних в JPA/JPQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]