Are you running a relational database? if so check all of your indexing. Unless you are doing some pretty crazy stuff indexing should reduce those queries to milliseconds.
Yes, mySQL. I'm sure I've made loads of mistakes in structuring things. I don't know where to start checking my indexes for mistakes though. Any resources you can point me at that are somewhat newbie friendly?
First thing to do is look at you where and order/group by clauses almost all of the items listed after them should have an index on them. Many should have a common index on the columns together, if they are used together a lot to filter information.
hmm. that makes a lot of sense. can you suggest some reading that can help me understand which types to use? I'm almost entirely self-taught on SQL so the result is "functional" code that's just not well-designed or optimal