Hi,
It appears libzdb mysql implementation of Connection_executeQuery actually uses a prepared statement to query the database. This may consume a lot more resources than doing a standard query.
At least each query generates 3 actions (statement preparation, execution and then closing). On one of our mysql servers handling up to 4K selects per second, the reported number of operations went up to more than 10K, and the CPU usage went from ~2% user and ~1% system to ~6% user and ~12% system. Some older servers did not have enough CPU available to handle the new load.
Is there a reason for using a (lone) prepared statement for each query, or could there be a way in future versions of the library to at least allow to do standard queries (mysql_query or mysql_real_query, and mysql_fetch_*) ?
Regards