I’m learning to be a pragmatist. But, values that I have kept in mind always making me into the sense of rejection of almost all of the pragmatic solutions. I do love running system, but I hate unmaintainable systems.
One mind that I would love to tackle is the prohibition of using stored procedure. I would love to know how my mind playing tricks on me or is it true?
An article by Roland Bouman interestingly gives an insight: People loves stored procedures. It fast and it is more practical. Some people who hate it said that it would be not portable. But, as I read, most organizations don’t move their databases into new backend. This is because of most databases are not that compatible with standards. Some notes about CPU scalability things. But, that’s MySQL specific. So far I read, the stored procedure are in favor.
I do found an interesting fact: It was about the PROGRAMMER portability.
The most reasonable fact about portability is about programmer turnover. You have a divine programmer and you have contracts with vendor to ensure your database is up-to-date in ten years. Suddenly, Google hijack your programmer and you left with a new one. Well, let’s hope the new one is like advertized.
For instance, the new developer won’t excuse his/her new system lackiness because of database performance hits. Using stored procedure wildly will bring your system unauditable. That’s not good.
A well designed SQL scheme will always produces great results. Results are not just results. It also speaks about underlaying systems and business logic. That’s why we implemented MVC practice.
I still believe in Ariya Hidayat’s: Don’t code what you can’t debug tommorow. Long story short, I still believe stored procedure is a bad practice. Of course, I’m not a DBA, thoughts?