Mike, Thank you very much - I'll do that and let the list know about the results.
One follow up question - I saw sqlite3_prepare_v2 in php code, but I see the same slow speed with sqlite3_exec when doing inserts, deletes, etc. Should INSERT, DELETE, etc also use sqlite3_prepare_v2 also? - J Michael Ruck wrote: > Don't use sqlite3_get_table. Use sqlite3_prepare_v2, sqlite3_step, > sqlite3_finalize and related APIs instead. > > Mike > > >> -----Ursprüngliche Nachricht----- >> Von: Jonathan Hendler [mailto:[EMAIL PROTECTED] >> Gesendet: Sonntag, 2. Dezember 2007 14:10 >> An: sqlite-users@sqlite.org >> Betreff: [sqlite] Help with C API - sqlite3 >> >> Hi All, >> >> I'm writing a C application which runs inside of FastCGI process. >> >> The problem is that I am getting poor performance... roughly 1000 >> SELECTs in 20 seconds. >> It's not an indexing issue (I promise). This is true even >> when there are >> only 2 rows. I'm not getting errors. >> >> PHP PDO sqlite runs about 10000 equivalent SELECTS on the >> SAME database >> in about 2 seconds on my machine. >> >> What could I be doing so drastically wrong? >> >> I am using these defines to do the execution >> >> #define SQLITE_GET_RESULTS \ >> char ** result;\ >> char * err;\ >> int rc, nrows,ncols;\ >> rc = sqlite3_get_table(db,sql,&result,&nrows,&ncols,&err);\ >> if (rc != SQLITE_OK){\ >> if(err != NULL){\ >> printf(" err %i: %s\n%s\n",rc,err,sql);\ >> sqlite3_free(err);\ >> sqlite3_free(sql);\ >> } result = NULL; } >> >> #define RESULT_ITERATOR(result,ncols,nrows,i,j) \ >> int i,j;\ >> for(i=0;i< nrows ;i++){\ >> for (j=0;j<ncols;j++){ >> >> #define SQLITE_RESULT_CLEANUP if (result) { >> sqlite3_free_table(result);} >> if (sql) { sqlite3_free(sql);} >> >> The SQL is created via sqlite3_vmprintf(). >> >> I've increased the pragmas for memory, it's a shared cache, >> thread safe >> - though tweaking these items has not appeared to affect performance. >> >> I can provide more relevant information with some hints about where to >> start. >> >> Thanks in advance. >> >> Cheers, >> Jonathan >> >> -------------------------------------------------------------- >> --------------- >> To unsubscribe, send email to [EMAIL PROTECTED] >> -------------------------------------------------------------- >> --------------- >> >> >> > > > ----------------------------------------------------------------------------- > To unsubscribe, send email to [EMAIL PROTECTED] > ----------------------------------------------------------------------------- > > > ----------------------------------------------------------------------------- To unsubscribe, send email to [EMAIL PROTECTED] -----------------------------------------------------------------------------