I think by your requirement, you'd better use the ajax for the pagination.
read all the records from DB in your index action, and latter use ajax
for the pagination(you will not need access your index action again )
BTW: will you use cache in your app? if, yes your way is not bad
either. Though every time when you selecting the page, you will access
the index action. but it will not get the records from your DB , it
will get from your cache.
I prefer the cache one.
Hope it gives you some help.