Ryan Gaffuri asked: In our shop, the Java developers do not want to use any database stored procedures and only put logic in the middle tier. Is this a good idea?
Paul Dorsey replied. No, this is not a good idea. If you use stored procedures, you will need someone who knows the database as well as the front-end tool used in your development shop. If you are a one-person development shop, I think you can make your argument stick. If the number of developers is greater than one, there is no reason to not use the strengths of the database to your advantage. Consider the following advantages: 1) Performance: Routines that are database-intensive are much easier to write in the database. Java, .Net, and other non-Oracle developers are usually not very good at database-centric development. We recently rewrote a 6000-line routine that ran in about 20 minutes in Java to < 5 seconds in a 500-line PL/SQL routine. Bulk operations, etc, are much easier to invoke from PL/SQL. If you have a complex routine that requires hundreds of database operations, sending those operations over the network will hurt performance. We rescued one routine where there was more
Related Questions
- Is there a single database file housing all the data, data definitions, stored procedures, security, table relationships, etc. as in Microsoft’s SQL server?
- Database Schema Synchronization: Does the SQLyog Schema Sync Tool synchronize MySQL objects (Stored Procedures, Functions, Triggers, Views and Events)?
- Does DBCare install objects or stored procedures in my database server?