powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Колличество значений в IN()
7 сообщений из 7, страница 1 из 1
Колличество значений в IN()
    #40023500
Dino_zavr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите , есть запрос

Код: plsql
1.
UPDATE mytable SET Val = 1 WHERE Id IN(2,5,54,.......n)



сколько значений в IN(......) можно вставить , от чего это зависит, можно ли определить?
...
Рейтинг: 0 / 0
Колличество значений в IN()
    #40023501
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ограничений именно на количество значений, насколько мне известно, нет. Но есть другое ограничение - размер пакета. Т.е. теоретически если создать динамический запрос размером, выходящим за размер пакета, это и будет ограничением по IN(). В этом случае количество элементов в IN(), соответственно, будет зависеть от их размера. Чем большую длину будет иметь каждый элемент, тем меньше их можно поместить в IN(). Так или иначе, это мегабайты. Т.е. в IN() можно поместить тысячи и десятки тысяч значений разумной длины. Вопрос только как это скажется на производительности. После некоторого количества выгоднее использовать временную таблицу. В общем, зависит от задачи. А так надо смотреть план запроса.
...
Рейтинг: 0 / 0
Колличество значений в IN()
    #40023508
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluck99
Но есть другое ограничение - размер пакета.

+1
max-allowed-packet
...
Рейтинг: 0 / 0
Колличество значений в IN()
    #40023510
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dino_zavr,

Засовывать паравозный состав в in - плохая затея, забей.
...
Рейтинг: 0 / 0
Колличество значений в IN()
    #40023522
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dino_zavr , практически - когда размер списка переваливает где-то за тысячу, быстрее поместить список во временную таблицу, проиндексировать её, и использовать как источник данных в запросе.
...
Рейтинг: 0 / 0
Колличество значений в IN()
    #40023551
Dino_zavr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо за информацию, буду менять подход
...
Рейтинг: 0 / 0
Колличество значений в IN()
    #40023575
Arhat109
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К сожалению, это типовой "рекомендованный" подход для выборки дочерних сущностей в Yii2. тоже нарывался на ограничение размера пакета и тоже шел через временную таблицу, но уже "руками"... :(
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Колличество значений в IN()
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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