[Catalyst] Pager and Cache

Mitch Jackson perimus at gmail.com
Tue May 20 14:30:49 BST 2008


> If you want to exploit indexes in paging properly you need to involve
> an index in the search criteria and remember the last fetched value.
> IE:
>
>  select * from Foo where id >= last_id_fetched LIMIT $size

Ideal as this might be in theory, I have built very few reports as
simple as sorting by and searching on a single index field.  From
business metrics to user management to online catalogues, where you
search by user role, by product type, by category, by title, navigate
through untold variations on stats sorted and searched dynamically.
Sure, I could dumb things down a lot to fit into that model, but it
would be at the inconvenience of the user, who expects flexibility.

It is true, the database has to do a bit of work to deliver these
results, but that's what the database is for.  When you're talking
about large data sets and lots of concurrent users, you're talking
about one or more BEEFY database servers ready and willing to do the
heavy lifting so your web servers don't have to.

/Mitchell K. Jackson



More information about the Catalyst mailing list