Mailing List
Home
Forum Home
MySQL General - General MySQL discussion
MySQL++ - Programming with the C++ API to MySQL
MaxDB - Everything about MaxDB, formerly known as SAP DB
ODBC - ODBC with the MySQL Connector/ODBC driver
MySQL on Win32 - Runing MySQL on Windows 9x/Me/NT/2000/XP
Java Help - Mostly related to the MySQL Connector/J driver
Perl - Perl support for MySQL with DBI and DBD::mysql
GUI - MySQL GUI Tools
Announcement
Subjects
mysql openssl Question
ERROR 1045: Access denied for user: 'root@localhost ' (Using
password: NO)
Update one field with more fields from another table
Getting Identity after INSERT
ERROR 2002: Can 't connect to local MySQL server through socket
mysql test 4 1 fails with the gis test
MySQL Cluster Software
Downgrade Mysql from 4 to 3 23
Mysql 4 0 Oracle Stored Procedure Trigger Conversion
Can 't access mysql after kernel upgrade
Executing MySQL Commands From Within C Program
Comparing and writing out BLOBS
Preventing Duplicate Entries
FULLTEXT query format question
Strange behavior, Table Level Permission
Does the binary log enabling affect the MySQL performances?
mysql:it 's a db not a dbms how it 's possible?!
mysql have same function mthod as Oracle decode()
 
Newbie question: very slow performance

Newbie question: very slow performance

2007-07-13       - By William F. Dowling

 Back
Reply:     1     2  

I am seeing very slow performance when using mysql++ to access a local
db.  By "very slow" I mean, slower by a factor of 100-1000, in
comparison to running the same queries (in every case, a call to a
stored procedure) by piping them into the mysql command line client.

Can anybody suggest what I my be doing wrong to get such bad
performance?  (It is likely someting simple, since I am new to mysql++.)

My code for one of the procedures is this:

    // throw away empty results that are side effect of multi-query
   void skip_remaining_multi_results(mysqlpp::Query &query)
   {
  while (query.more_results()) {
     query.store_next();
  }
   }
...
   void get_some_data(const std::string &ck, std::string *result)
   {
  try {
     mysqlpp::Query query = con.query();
     query << "call get_some_data(" << mysqlpp::quote
                 << ck << ")";
     mysqlpp::Result res = query.store();
     if (res) {
    mysqlpp::Row row = res.at(0);  // count returns one row
    *result = row.at(0).get_string();
     }
     skip_remaining_multi_results(query);
  }
  catch (const mysqlpp::BadQuery& er) {
     // Handle any query errors
     throw sdb_exception(er.what(), QUERY);
       }
  catch (const mysqlpp::Exception& er) {
     // Catch-all for any other MySQL++ exceptions
     throw sdb_exception(er.what(), MYSQLPP);
  }
   }

Thanks for any suggestions!

Will


--
William F Dowling
william.dowling@(protected)
www.scientific.thomson.com

--
MySQL++ Mailing List
For list archives: http://lists.mysql.com/plusplus
To unsubscribe:    http://lists.mysql.com/plusplus?unsub=mysql@(protected)