CakePHPのページネーションは便利な機能ですが、
COUNTクエリを発行するため、テーブルの件数が増えるとDB負荷が大きくなり、
レスポンスが悪くなります。
この対策として、CakePHP3.9からSimplePaginatorが追加されました。
https://book.cakephp.org/3/en/controllers/components/pagination.html#simple-pagination
Controllerのinitializeメソッドで以下のように記述することで
use Cake\Datasource\SimplePaginator;
class ExamplesController extends AppController
{
public function initialize(): void
{
parent::initialize();
// Load the paginator component with the simple paginator strategy.
$this->loadComponent('Paginator', [
'paginator' => new SimplePaginator(),
]);
}
Back、Nextのみのシンプルなページネーションになります。
count文を発行しなくなることにより、全件表示ができなくなるため、
全件表示はtemplatesから削除しておきましょう。