Выбор ответа Middle Spring Data JPA обновлено
Page и Slice
Вопрос
Чем Slice<T> отличается от Page<T> в Spring Data?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Slice не делает count-запрос и знает только о следующей. Для Page Spring Data выполняет дополнительный select count() ради общего количества и числа страниц, на больших таблицах это дорого.
Варианты ответа
- Slice загружает все записи, а потом режет их в памяти
- Slice не делает count-запрос и знает только о следующейправильный ответ
- Page не поддерживает сортировку, только смещение и размер страницы
- Slice работает только с native-запросами в @Query
Разбор
Для Page Spring Data выполняет дополнительный select count(*) ради общего количества и числа страниц, на больших таблицах это дорого. Slice запрашивает на одну запись больше размера страницы, чтобы понять, есть ли продолжение. Оба делают пагинацию в базе и поддерживают сортировку.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.