Re: [Cppcms-users] Is dbixx::row available in an associative arary?
Brought to you by:
artyom-beilis
From: Artyom <art...@ya...> - 2010-12-13 13:13:04
|
> > Hello, > > I have found that libdbi is quite slow (at least using MySQL) and I have > evidence that compared with a native implementation (libmysqlclient) where > libdbi is up to 4 times slower in returning the results of a series of querys. Make sure that everything is compiled in "release" mode - i.e. take a look if during compilation "-O2" or "-O3" flag is given for both libdbi and and dbixx (if you are using the last one). AFAIK libdbi uses mysql client and AFAIK does it quite well. I did once comparisons: http://art-blog.no-ip.info/cppcms/blog/post/12 and it was fine. However there still may be some corner cases that are not handled well. > > I wonder if this is the reason you have decided to implement cppdb, > Yes and not. Several reasons: 1. I wanted to work with prepared statements by default (wich have performance impact) 2. I want to have an ability to cache them (and also have connection pool) 3. I need some better API (for example libdbi date-time support is quite bad)/ > and whether > you are going to implement these using the native APIs (ex: libmysqlclient in > the case of MySQL) and what other databases are supported or plan to support? First of all I had already implemented :-) Second I support natively: - mysql via libmysqlclient) - sqlite3 via native sqlite3 library) - postgresql via official libpq - odbc for any other databases (tested with the three above and MS SQL Server)/ > Thanks and regards. > > Mario Best, Artyom P.S: If you are going to test cppdb performance via libmysql client do not forget the cppdb uses prepared statements by default and they do not use queries cache as non-prepared statements (some mysql "feature"), so sometimes it is better to use non-prepared statements with mysql backend. |