Предел 1000 предложения Handle IN в Camel Sql

Я использую верблюд sql (версия 2.20.1) и запускаю sql-запрос с использованием шаблона

SELECT column1,column2 FROM my_table WHERE column2 IN (:#in:ids).

Здесь все работает нормально, но я сомневаюсь, как он справится с делом: если count of ids greater than 1000.

Обрабатывает ли верблюд этот случай изнутри, или я должен создать подсписок размером 1000 в этом случае?

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

Если синтаксис, который вы показываете, изменен таким образом, что в списке для предложения IN имеется 1000 значений ID, Informix должен с этим справиться. Если вы используете достаточно старую версию Informix (которая сейчас не поддерживается), вы можете столкнуться с ограничениями на количество элементов в списке, но в последней версии (12.10) мы возились с большими списками - десятки тысяч наименований. Не рекомендуется использовать такие большие списки, но это должно сработать.

Jonathan Leffler 15.04.2018 23:27

Это не ограничение Apache Camel, это ограничение драйвера базы данных.

Alexey Yakunin 16.04.2018 09:56

Camel не имеет ограничений в предложении IN, если у вас есть 1, 500 или 50000 элементов, он использует это. Но, как говорит Джонатан, очень ПЛОХО использовать огромное предложение IN.

Claus Ibsen 16.04.2018 10:17

да, я понял. Но что можно сделать, чтобы улучшить ситуацию? Должен ли я запрашивать значения одно за другим, используя id=value в цикле, или уменьшать количество параметров if в предложении IN?

Girish007 16.04.2018 18:00

@ Girish007 У меня есть аналогичный сценарий, когда мне нужно передать коллекцию значений в предложение IN. Что касается запроса в приведенном выше вопросе, как вы передаете значения для (: #in: ids)

Ronald James 04.05.2018 12:35
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
5
282
0

Другие вопросы по теме