Optimizations:
- when browsing products, retrieve collect, wishlist, and watchlist data for whole page in one query each, instead of per product
- remove redundant watchlist db hit from page template
- if a collected item is sealed or graded, don't hit the db for the user's part list, just use the toy's part list
Long story short, even at 100 results per page, general product browsing pages are back to loading in under a 10th of a second. A full "edit my collection" page with 100 results takes about a 3rd of a second (or possibly a little more, depending on how many of them you've opened)