Я пытаюсь получить список пользователей, которые появляются хотя бы один раз в OtherTable. Ниже приведен мой очень неэффективный запрос HQL с использованием Grails. В общем, будет только не более нескольких сотен пользователей, которые будут выполняться в запросе, но, возможно, миллион ссылок на этих пользователей в OtherTable.SQL - выберите идентификаторы, которые появляются хотя бы один раз в другой таблице
List<User> users = User.executeQuery("select user " +
"from User as user where user.id = any(" +
"select otherTable.user.id from OtherTable as otherTable)")
Как сделать этот запрос более эффективным?
Если этот запрос работает, то он, вероятно, довольно эффективен. –
Возможно, это было мое тестовое оборудование? Потребовалось более секунды, чтобы работать на H2 с 50 000 строк OtherTable на моем ПК, но окончательное оборудование будет MS SQL на лучшее оборудование. – Anonymous1
Вы можете использовать индекс в SQL Server для ускорения запроса. –