• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 51, 文章 - 1, 評論 - 41, 引用 - 0
            數(shù)據(jù)加載中……

            影響SQLite3速度的方法

            本文以INSERT為例介紹影響SQLite3速度的方法。

            基本方法

            SQLite3執(zhí)行INSERT語句的代碼如下:

            for (int i=0; i<count; ++i) {

                const char *stmt = “INSERT INTO TABLE VALUES(....)”;

                sqlite3_exec(db, stmt, 0, 0, 0);

            } 

            開啟事務(wù)

            事務(wù)保證數(shù)據(jù)庫執(zhí)行語句的完整性,是開銷較大的動作。每次INSERT語句隱式開啟一個事務(wù),多次INSERT語句則會開啟多次。顯示開啟事務(wù)可以合并多次INSERT語句的事務(wù),如下:

            sqlite3_exec(db,"BEGIN;",0,0,0);

            for(int i=0; i<count; ++i) {

                const char *stmt = “INSERT INTO TABLE VALUES(....)”;

                sqlite3_exec(db,ssm.str().c_str(),0,0,0);

            }

            sqlite3_exec(db,"COMMIT;",0,0,0); 

            設(shè)置同步

            設(shè)置synchronous選項,可選值為full、normal、off,默認(rèn)為full。其值full最安全但最慢,而off最快但數(shù)據(jù)庫存在損壞風(fēng)險。

            sqlite3_exec(db,"PRAGMA SYNCHRONOUS = OFF; ",0,0,0); 

            執(zhí)行準(zhǔn)備

            如果執(zhí)行相同的語句,只是數(shù)據(jù)不同,如INSERT不同的數(shù)據(jù)項,可預(yù)先對執(zhí)行語句進(jìn)行預(yù)處理。

            sqlite3_stmt *stmt;

            const char* sql = "INSERT INTO TABLE VALUES(?,?)";

            sqlite3_prepare_v2(db,sql,strlen(sql),&stmt,0);

             

            for(int i=0; i<count; ++i) {

                sqlite3_reset(stmt);

                sqlite3_bind_int(stmt,1,i);

                sqlite3_bind_double(stmt,2,i*i);

                sqlite3_step(stmt);

            }

            sqlite3_finalize(stmt);

            posted on 2015-11-19 19:09 lemene 閱讀(486) 評論(0)  編輯 收藏 引用


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            亚洲精品美女久久777777| 韩国三级大全久久网站| 精品久久久久久无码人妻蜜桃 | 久久久久免费精品国产| 久久国产精品99精品国产| 99久久夜色精品国产网站| 青青草原1769久久免费播放| 岛国搬运www久久| 久久强奷乱码老熟女网站| 97久久精品人妻人人搡人人玩| 亚洲AV伊人久久青青草原| 91久久精品国产成人久久| 久久午夜夜伦鲁鲁片免费无码影视| 99久久精品久久久久久清纯| 噜噜噜色噜噜噜久久| 青青热久久国产久精品 | 中文字幕无码久久人妻| 精品久久人人做人人爽综合| 久久久久久久波多野结衣高潮| 91亚洲国产成人久久精品| 久久亚洲AV成人无码电影| 新狼窝色AV性久久久久久| 久久青青草原精品国产不卡| segui久久国产精品| 日产精品99久久久久久| 亚洲欧美日韩精品久久亚洲区| 99久久综合狠狠综合久久| 色88久久久久高潮综合影院| 亚洲国产视频久久| 久久久青草青青国产亚洲免观| 人人狠狠综合久久亚洲婷婷| 国产午夜免费高清久久影院| 久久99国产精品一区二区| 亚洲精品高清国产一线久久| 久久亚洲国产最新网站| 人人狠狠综合久久亚洲高清| 麻豆国内精品久久久久久| 久久国产精品国语对白| 国产精品99久久久久久董美香| 亚洲国产精品久久66| 精品久久久久久99人妻|