Back to stored procedures for a second. I use them with MSSQL. For certain tasks they
greatly improve performance because I don't have to move all the data client side. For
the vast majority of tasks though stored procedures yeild little performance gain.
I've seen systems that (designed as Microsoft suggests) wrapped all SQL usage in stored
procedures. This is nonsense.
Also, stored procedure have two very important liabilities: they break the n-tier model
and they expose source code to the customer (if you sell your app). If you change your
back end then you get to re-write all your stored procedures (I had to do this once). I
routinely get calls from IT managers who have looked at my stored procedures and have
questioned why I did so and so. This forces me to research it and come up with a
In my opinion the performance gain of stored procedures are rarely worth the headaches so
their lack of them in MySQL is really not a problem.
Will I use them in MySQL 5.0? Probably, but only when justified.