В чем разница между inSet и inSetBind в Slick

ScalaDoc функций не был заполнен.

Я знаю, что методы используются для имитации ключевого слова SQL IN (например, SELECT * FROM table WHERE id IN VALUES(1, 42, 101) может быть выполнено с помощью table.filter(_.id inSet Seq(1, 42, 101))). Я не знаю, что это за "привязка" версия или как выбрать, что я должен использовать.

Ответ 1

inSet является небезопасной версией inSetBind, которая генерирует безопасное/экранированное значение sql на основе переданного во входе. В вашем примере, когда значение установлено вручную, оба типа привязки одинаково безопасны.

Обычно с привязанными параметрами вы получаете повышение производительности (через сгенерированный подготовленный оператор), но не в случае с значениями коллекции. Подробнее см. здесь.