Hi. I've just read the InfoQ interview about Sequel. This paragraph caught my attention:
"7) Prepared Statements/Bound Variables: Sequel allows the use of real database prepared statements and bound variables on some databases, with emulated support available on all other databases. Prepared statements can be significantly faster than regular queries depending on the database being used." I'm wondering what exactly the benefits are of "real" database prepared statements. I know that there's some kind of unwritten rule that prepared statements are faster than regular queries. Indeed, almost every single person that I've asked thinks that way, if said person knows what prepared statements are. However, there seems to be a total lack of real evidence that prepared statements are faster. Almost 2 years ago, I was working on support for prepared statements in ActiveRecord. I eventually abandoned the effort, and one of the reasons why I did that was because of lack of real advantages. I had expected performance improvements, but someone on the Rails mailing list told me that it could in fact be slower because it would involve more roundtrips to the database server. And indeed, I measured a slight (about 5%) overhead in my initial naive implementation, when running the ActiveRecord unit tests. Later on I implemented a cache which caches the prepared statements, and expires statements based on the least-recently-used algorithm. I managed to make the test suite just as fast as before, but not any faster, even if I increase the cache's size. I wrote a simple test program which performs many database insertions, and the version using prepared statements is only 1% faster than the version without prepared statements. I've searched the internet for evidence that prepared statements are faster, but I could not find any evidence other than people claiming that it is so. No benchmarks, no scientific papers, no numbers, nothing. So after reading the InfoQ interview I'm wondering whether you (the Sequel developers) have any evidence. Do you have any benchmarks? Under what conditions are prepared statements faster? And if they're faster, by how much? Regards, Hongli --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sequel-talk" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sequel-talk?hl=en -~----------~----~----~----~------~----~------~--~---
