Я хотел бы выяснить, какой из следующих запросов будет наиболее эффективным для получения количества строк в таблице, поэтому я пытаюсь распечатать операторы выбора. Я знаю, что вы можете добавить.selectStatement
к Queryable, но не знаю, говорит ли это мне полную правду, потому что мне придется удалить код, генерирующий результат, например. .list.length
и замените его на .selectStatement
. Slick, вероятно, улавливает, что вы ищете длину, и выполняет дальнейшую оптимизацию, поэтому я хочу увидеть оператор select для всего запроса, включая SQL, который будет сгенерирован из-за .list.length
или .count).first
.
Query(MyTable).list.length
(for{mt <- MyTable} yield mt).list.length
(for{mt <- MyTable} yield mt.count).first