== All pages are single function, no authenticate caching, largest bounded pin == lookups hits keyMi intMi extns entrs aboutme 100 29 ( 29.0%) 51 20 14 55 viewitem 309 40 ( 12.9%) 238 31 22 242 putbid 122 14 ( 11.5%) 106 2 2 106 viewuserinfo 70 11 ( 15.7%) 58 1 1 58 putcomment 9 0 ( 0.0%) 9 0 0 9 searchitemsbycategory 495 317 ( 64.0%) 67 111 21 119 buynow 31 0 ( 0.0%) 31 0 0 31 viewbidhistory 32 3 ( 9.4%) 24 5 5 24 browseregions 69 65 ( 94.2%) 1 3 3 1 browsecategories 269 202 ( 75.1%) 49 18 18 50 searchitemsbyregion 121 4 ( 3.3%) 115 2 0 117 Total 1627 685 ( 42.1%) 749 193 86 812 keys: 738 htBytes: 55440 keyBytes: 43200 entryBytes: 4969504 lookups hits keyMi intMi extns entrs viewbidhistory 54 5 ( 9.3%) 42 7 6 43 putbid 177 30 ( 16.9%) 139 8 7 140 putcomment 12 0 ( 0.0%) 12 0 0 12 buynow 40 0 ( 0.0%) 40 0 0 40 aboutme 113 40 ( 35.4%) 50 23 8 54 browseregions 87 84 ( 96.6%) 0 3 3 1 searchitemsbycategory 512 348 ( 68.0%) 61 103 13 116 browsecategories 307 229 ( 74.6%) 65 13 13 65 viewitem 400 70 ( 17.5%) 297 33 21 299 viewuserinfo 115 7 ( 6.1%) 103 5 5 104 searchitemsbyregion 180 5 ( 2.8%) 161 14 0 165 Total 1997 818 ( 41.0%) 970 209 76 1039 keys: 968 htBytes: 78352 keyBytes: 56240 entryBytes: 6168768 == All pages are single functions, authenticate caching, largest bounded pin == lookups hits keyMi intMi extns entrs viewbidhistory 24 4 ( 16.7%) 19 1 1 19 putbid 121 15 ( 12.4%) 103 3 3 103 putcomment 10 0 ( 0.0%) 10 0 0 10 buynow 26 0 ( 0.0%) 26 0 0 26 aboutme 92 28 ( 30.4%) 47 17 13 40 browseregions 62 59 ( 95.2%) 0 3 3 1 authenticateImpl 267 102 ( 38.2%) 100 65 66 100 searchitemsbycategory 405 225 ( 55.6%) 61 119 21 92 browsecategories 236 167 ( 70.8%) 55 14 15 55 viewitem 322 48 ( 14.9%) 241 33 28 242 viewuserinfo 72 6 ( 8.3%) 61 5 5 61 searchitemsbyregion 122 1 ( 0.8%) 119 2 1 120 Total 1759 655 ( 37.2%) 842 262 156 869 keys: 834 htBytes: 69776 keyBytes: 49728 entryBytes: 4530944 == All pages are single functions, authenticate caching, largest pin == lookups hits keyMi intMi extns entrs viewbidhistory 22 7 ( 31.8%) 15 0 0 15 putbid 89 13 ( 14.6%) 73 3 3 73 putcomment 11 0 ( 0.0%) 11 0 0 11 buynow 21 0 ( 0.0%) 21 0 0 21 aboutme 60 12 ( 20.0%) 46 2 2 24 browseregions 42 38 ( 90.5%) 1 3 3 1 authenticateImpl 198 73 ( 36.9%) 87 38 37 88 searchitemsbycategory 350 226 ( 64.6%) 53 71 0 124 browsecategories 198 150 ( 75.8%) 29 19 19 30 viewitem 230 30 ( 13.0%) 187 13 8 192 viewuserinfo 36 1 ( 2.8%) 33 2 3 32 searchitemsbyregion 87 0 ( 0.0%) 87 0 0 87 Total 1344 550 ( 40.9%) 643 151 75 698 keys: 620 htBytes: 47888 keyBytes: 37296 entryBytes: 3450464 == Operations == AboutMe * $password only used in generated HTML, but it should be one-to-one with $userId * Multiple key lookups on users, mostly just for nickname field. Fixed. * Key lookup on item (chained with old_items). Fixed. * Multiple key lookups on old_items. Fixed. BrowseCategories * $userId only used in the generated HTML. Removed from arguments BrowseRegions * Perfectly cacheable already BuyNow * Key lookup on items. Fixed. * Key lookup on users, just for nickname field. Fixed. * (No other queries) * Result is not worth caching. Fixed. PutBid * Key lookup on items. Fixed. * $userId only used in the generated HTML. userId is now a template in the returned string. PutComment * Key lookup on items. Fixed. * Key lookup on users. Fixed. * (No other queries) * $nickname and $userId only used in the generated HTML. These are now templates in a returned string. SearchItemsByCategory * $categoryName only used in generated HTML, but one-to-one with $categoryId * Don't think this can be cached any better SearchItemsByRegion * Don't think this can be cached any better ViewBidHistory * Key lookup on items, just for name field. Fixed. * Key lookup on old_items, just for name field. Fixed. * items and old_items lookups are chained * Key lookup on users, just for nickname field. Fixed. * Optimal for arguments ViewItem * Key lookup on items. Fixed. * Key lookup on old_items. Fixed. * items and old_items lookups are chained * Key lookup on users, just for nickname field. Fixed. * Optimal for arguments General * It might be worth it to have a function for getItem that just gets new items and a separate function for getAnyItem that gets a new item if possible, otherwise it looks for an old item. AboutMe is the only place that ever only looks for old items. Fixed.