Hello.
  Thanks for replying.
  Actually I suddenly realize there is a command "vacuum". After run
vacuum on my db, now the sqlite3_step only took 1ms. It is super fast
now. I think I should set auto vacuum on.
I think wxLogMessageBox doesn't affect the performance actually.

Regards.
Scott



On 4/22/11, Igor Tandetnik <itandet...@mvps.org> wrote:
> On 4/22/2011 10:32 AM, Scott Zhang wrote:
>> Hello.
>>     I am using Sqlite3 in my applicaiton. I have a simple table:
>>
>> CREATE TABLE doc_cat_link (
>>     id       INTEGER PRIMARY KEY,
>>     doc_id   INTEGER,
>>     cat_id   INTEGER,
>>     [ACTION] TEXT    DEFAULT '',
>>     is_dirty INTEGER
>> );
>>
>> the problem is it only has 10 rows, but each time I delete a row using
>> "delete from doc_cat_link where doc_id=?" in my application, it took
>> about 200ms.
>>
>> After tracking down to the real function call,
>> [code]
>> wxLogMessage(wxString::Format(_T("ExecuteUpdate1 is %d\n"), clock()));
>>   int rc = sqlite3_step((sqlite3_stmt*) m_stmt);
>>         wxLogMessage(wxString::Format(_T("ExecuteUpdate1 is %d\n"),
>> clock()));
>
> I wonder how long it takes to run wxLogMessage and wxString::Format -
> you are including them in the running time. Try it this way:
>
> int clock_before = clock();
> int rc = sqlite3_step((sqlite3_stmt*) m_stmt);
> int clock_after = clock();
> wxLogMessage(wxString::Format(_T("sqlite3_step took %d ms\n"),
> clock_after - clock_before));
>
> --
> Igor Tandetnik
>
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to