Just as a slight follow-up, you might be asking yourself, "Why MySQL 4.1 and not 3.23 or even 4.0?" To you, I have a few things to say.
First off, you should be running the latest stable production anything, as long as it doesn't mess up your application. There is
very little backwards incompatibility between these versions. 3.23 is old. So old that they don't even offer the download on their site anymore. Most of the documentation reflects features in the 4+ versions.
Second, MySQL 4 and up offers a little thing called
Query Cache.
What is that? The Query Cache essentially saves queries in memory, saving processing time. For example, let's say you host a BBS that runs a query to select all open forums. Every time it runs the same query and retrieves the same results. With the Query Cache, it will have stored the results and will spit them out without running the query on the databse.
But what if my data changes? Your MySQL database server will know that and remove the cached query.
Third, as of 4.1, MySQL offers
Subqueries. This is a huge part of other, more powerfull (
and more expensive) databases, like Oracle.
Subqueries? This is a huge topic, so I'll kindly refer you to
this page.
Fourth, again as of 4.1,
Temporal Functionality. And again, I'm not going to reinvent the wheel on writing this rather large topic up, so I'll refer you to
this page.
There is a lot to be said about great PHP code, but if your database design isn't up to par, your site will suffer. My advice to any PHP programmer:
Learn how and why your database works the way it does.! This is absolutely crucial to efficiency.
Good luck! And if you have any questions, feel free to contact me.