The analyst in me couldn't just throw a standard paging system on this site for several reasons.
The first reason was that I didn't want to hit the MySQL database just to get a record count. This website is about speed first.
Another major factor was the uselessness of a numbered paging system to begin with. Whi ever preforms a search or looks at a list and says "I am going to the nth page."? Sure, if you are paging alphabetically, I can see that. But in a chronological or relevancy recordset, it doesn't make sense.
A few ideas came to mind and I ran them by a fellow programmer.
One idea was to keep a record count column that updated the active count when any insert, update or delete was made. This removed the need for an additional trip to the server, but meant a full column update when changes were made.
Another idea was to create a variable table that only contained the active row count. An improvement over the active row count column in every record. But that would still be a round trip to the database.
The final idea was to do a page plus one approach. By grabbing a page worth of records, I cold fill the display requirement. By pulling an additional record I would know there was an additional page worth of records.
After a few minor tweaks, the new article navigation is in place. It works and flows well with the rest of the site.
Another item off the development list.