PHP + MySQL のプログラムに関して質問させてください。

勉強用に単純な検索プログラム(ユーザーの入力した条件から適切なレコードを検索、表示する)を作っています。
結果が一定数以上の場合はページ遷移を行うわけですが、ここで少し迷ってしまいました。

@ SQLから結果を全て受け取って、配列に入れておき、それを for で回す。ページ遷移は for の引数を変えていく。
A LIMIT などを使って、そのページ、そのページで、SQLから結果受け取る。

どちらの方法を取るべきなのか、ご助言いただけると有難く思います。
よろしくお願いします。