The SQL statement is so easy.
    the table create statement as following:
    CREATE TABLE poiTable (poiId INTEGER NOT NULL, versionId INTEGER NOT NULL, 
regionId INTEGER , postalCode TEXT , phone TEXT , attrBitMask INTEGER , 
attributeBlob BLOB , primary key (poiId));
    So the poiId is equal to the rowid.

    such as : select * from poiTable where poiId = ... ;
    And execute the sql by sqlite3_prepare_v2?sqlite3_step?
    how could I improve the performance?









At 2015-12-21 17:15:56, "???" <2004wqg2008 at 163.com> wrote:
>What Simon said is very helpful for me. Thank you very much.
>I only want to improve the speed of reading data from data base. Do not do 
>insert?update and so on.
>
>I will try the following suggustion.
>PRAGMA synchronous = OFF
>
>Best regards
>
>
>
>
>
>
>
>
>
>
>At 2015-12-21 17:03:13, "Simon Slavin" <slavins at bigfraud.org> wrote:
>>
>>On 21 Dec 2015, at 6:19am, ??? <2004wqg2008 at 163.com> wrote:
>>
>>>  The meaning of "how to use sqlite_table" is that I guess the sqlite_table 
>>> may have contained some information which could help to improve speed.
>>>   I  am not meaning to  modify the data structure of  sqlite_master.
>>
>>There is nothing you can do with sqlite_table to improve speed.  Unless you 
>>have a very unusual setup there is nothing you can do with compilation 
>>options to improve speed.
>>
>>Since you say you are not using multi-threading or multi-process, you might 
>>like to read the documentation for
>>
>>PRAGMA synchronous = OFF
>>
>>This might increase speed for you.  However it also means that if your 
>>computer loses power or crashes while the database is open, you will lose 
>>more new data.
>>
>><https://www.sqlite.org/pragma.html>
>>
>>However a big increase in speed comes from correct use of indexes.  If you 
>>have any SQL commands which include WHERE or ORDER BY, then these will 
>>execute faster if you have an ideal index on the table they use.  This can 
>>affect INSERT and UPDATE and DELETE FROM commands.  If you want help with 
>>this you must post your SQL commands here.
>>
>>Another big increase in speed can come from correctly using transactions.  
>>When you are making changes to your database it is finishing the transaction 
>>with END or COMMIT which takes most of the time.  So if you have many INSERT 
>>commands then
>>
>>INSERT ...
>>INSERT ...
>>INSERT ...
>>
>>is slow but
>>
>>BEGIN
>>INSERT ...
>>INSERT ...
>>INSERT ...
>>COMMIT
>>
>>can be much faster.  This can affect INSERT and UPDATE and DELETE commands.
>>
>>Simon.
>>_______________________________________________
>>sqlite-users mailing list
>>sqlite-users at mailinglists.sqlite.org
>>http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>_______________________________________________
>sqlite-users mailing list
>sqlite-users at mailinglists.sqlite.org
>http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to