I'm nearing 7k active users on ClearCheckbook, many of which have been there for 8-12 months so far and have entered thousands of transactions (Over 668,000 to be exact). These two things combined made for extremely long load times as the database was freaking out with all the data in it. Well, last night I did two things to fix this: 1) Index columns in my database tables. Holy fucking shit, this is the greatest thing ever. simply index whatever you commonly search on and that alone speeds things up like crazy. Beware though... I just added about 45megs to the size of my table by indexing 3 columns (from the 668k row table). 2) Built a new way to calculate the balances for different accounts. I had previously been calculating all of the balances on the fly, so I built a script that stores everyones balances in a table and only has to make one query to grab that, rather than calculate it on the fly each time. Whenever someone adds/edits/deletes a transaction, it updates that one table. I've already had people email me and tell me how much of an improvement in speed they're seeing Anyone who hasn't indexed your mysql tables, do it right now.