Hi!

Drizzle aims at the web market but it lacks support for (server-side) Prepared Statements. How does that work out given the constant move among the userbase towards Prepared Statements.

PHP is one of the major players in the web market. Together with PHP 5 a database access abstraction layer called PDO has been introduced. PDO and the MySQL driver for PDO (PDO_MYSQL) focus on Prepared Statements: everything is run as a Prepared Statement. Over the years PDO_MYSQL has becomes more popular although it suffers both from the status of Prepared Statements in MySQL and the PDO overall design. Something similar goes for Connector/J and JDBC. They also focus on Prepared Statements.

JDBC works around it with a pretty solid client-side Prepared Statement emulation. PDO_MYSQL can't work around it as it suffers from the stinky PDO client-side emulation. And ext/mysqli, the PHP flagship extension and reference implementation is entirely lost as it has no client-side emulation to offer at all.

To make a long story short: expect PHP users to bail out badly. Bail out on the same topic like in the years before - MySQL has no proper Prepared Statements solution.

Brian tried to kick off some brainstorming on PS in his blog [1]. Both he and Lukas Smith [2], as of shortly a [Co-]Release Manager of the PHP 5.3 series, have blogged about PS before I found time to raise my voice on PDO and PS [3]. Its been a rather vivid blog discussion.

Things I remember from the discussion:

  - current PS implementation of the server does not scale well

  - todays developers are lazy and maybe less skilled:
    they rely on garbage collections and keep handles open
    for ages - the server

  - the server does not do much more than cache the parse tree:
    parsing can make 25% of the run-time of a short query

  - PHP users love "secure" binding

  - binary protocol can mean significantly less conversions
  - binary protocol can mean less traffic

What is the Drizzle roadmap on Prepared Statements given that PHP, a major player in the web market, will not play nicely with Drizzle without a vision implemented by Drizzle and MySQL Connector team folks?

Ulf

[1] http://krow.livejournal.com/599921.html
[2] http://pooteeweet.org/blog/1201
[3] http://blog.ulf-wendel.de/?p=187

--
Ulf Wendel, MySQL
Sun Microsystems GmbH,   Sonnenallee 1,   D-85551 Kirchheim-Heimstetten
Geschaeftsfuehrer: Thomas Schroeder, Wolfgang Engels, Dr. Roland Boemer
Vorsitzender des Aufsichtsrates: Martin Haering     Muenchen: HRB161028

_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to