Don't believe everything you hear about sqlserver being faster than mysql. Converting from slqserver to mysql improved the performance of my web app dramatically. It may do the same for you.
The last two weeks have been busy as all get out. After building a few data entry and reporting pages for the Elect Pernel Jones Jr web app I found that the app kept crashing. At first I though the problem was related to using datasets. Replacing the data sets with CBO's led to a slight performance improvement but as it turned out the main problem was related to running msde and / or sqlexpress 2005 in a constrained memory configuration. Now I know we have heard that ms sql server will run the pants off mysql. At least thats what the majority of posts on the net assert. What goes unsaid in those statements is the fact that sqlserver and it's variants run well provided they have enough memory.
Well let me say this about that. If you are running an app on a hosted web server and are looking to improve performance then you may be disappointed with ms sqlserver. In my configuration I have a vps with 768 meg of ram. I gave 256 to the sqlserver versions of my app and found the server running out of memory as multiple people (4) began using the app and running reports. Not only did the apps crash - but the lack of memory took down the whole server - requiring periodic reboots. Reducing the sqlserver memory to 128 did not improve matters - in fact it just slowed things down more. So here's what I did.
First I installed slqexpress thinking that msde had memory leaks. That did not take care of the problem. So I created an odbc connection, imported my tables into access. Brought up the mysql navigation toolkit, exported my access files to mysql, installed the mysql net connector, reworked my DAL to accomodate the mysql net connector and bang. Lengthly reports that timed out under sqlserver breezed through under mysql.
But, it was not quite easy as I said. Here are some things to look out for. You can't pass a dbnull to a mysql date - if you do mysql saves the date as 0000-00-00 which asp net does not know what to do with. The mysql navigation toolkit by default builds tables using the latin1 character set. You will probably want to change that and use the utf8 character set. Your stored procedures and views may need a bit of rewriting but none of it is complicated. The online mysql docs are pretty decent but I wound up putting out $50 for Paul DeBois' MySql book. And I'm glad I did.
So if you have trouble with poor performing web apps, you may want to give mysql a look. It made a big difference for me.