Prepared Statements effectively achieve the CPU (thus latency) performance improvements of Stored Procedures and do so in a more platform independent way than Stored Procedures. If you use the most obvious DB optimizations (connection pooling + prepared statements) then you are doing very well. If that performance is not sufficient and you are waiting for reads, then use caching. The bottleneck for databases will almost always occur at Disk I/O. The strongest argument I've heard for stored procedures is that they provide an API. So if I have 5 different applications using a database, and I don't want to rewrite the same logic for each app, perhaps stored procedures make sense. I would still try to avoid them because they tie all of my applications to DBMS specific layer. If the application is for Oracle or Microsoft, they probably don't care too much about the DBMS dependency. -Dave