Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm building an app that I think would benefit from the use of MySQL stored procedures. I know stored procedures have a bad reputation, but I think they suit my application well. Using stored procedures would reduce the number of queries per request significantly (mostly inserts), as well as allow me to leverage the procedures across multiple implementations of this software.

I think the software will benefit. My concern however, is that pushing functionality into stored procedures may make it harder for users to deploy the software on shared hosting services. Is it common practice to expect users to have stored procedure capability (i.e. allow scripts to create and run stored procedures)?

Edit: This application is intended for my end user to deploy on her own.

share|improve this question
As a customer you should ask why or search for a new host. – JeffO Jan 6 '12 at 18:36
@JeffO Can't argue with that. – leo Jan 6 '12 at 18:51
@leo as I reread this I think I am sensing something missing from your question. Is your app one that you will distribute to other vendors to install on their servers? If so you might want to include that in the question because it matters. My original reading was you have that problem with your current provider but I think you are more concerned with your customers having that problem. – Chad Jan 6 '12 at 20:13
up vote 2 down vote accepted

I would note that the ability to run stored procedures is a requirement for host of the database for the application into your user requirements documentation if you have a worry about it. Often stored procedures are avoided to allow for different database backends as the different flavors of SQL needed might mean that you have to create different stored procs for each vendor (Complex procs especially tend to use database specific commands). But you seem to be requiring MySQL only anyway, so I would just note it as a system requirement and go on.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.