一、如要使用sqlite,可以從visual studio中的「程式包管理器控制台」輸入以下命令完成安裝:
pm> install-package system.data.sqlite.coresqlite則會安裝到專案中,支援32位或64位,如下圖所示:
二、新建乙個sqlite資料庫,名稱命名為test.db,其表名稱及列定義如下:
執行delete命令及收縮資料庫");
run(() =>','')";
command.executenonquery();
}command.executescalar();
}, "[---使用事務---]事務執行insert命令");
list
list1 = run(() =>;
tests.add(t);
}reader.close();
return
tests;
}, "[---不使用事務---]使用executereader方式執行select命令");
datatable table1 = run(() =>,
"[---不使用事務---]使用fill table方式執行select命令");
run(() =>,
"執行delete命令及收縮資料庫");
sqlitetransaction transaction = run(() => connection.begintransaction(), "
開始事務");
run(() =>','')";
command.executenonquery();
}var result =command.executescalar();
}, "[---使用事務---]執行insert命令");
list
list2 = run(() =>;
tests.add(t);
}reader.close();
return
tests;
}, "[---使用事務---]使用executereader方式執行select命令");
datatable table2 = run(() =>,
"[---使用事務---]使用fill table方式執行select命令");
run(() => transaction.commit(), "
提交事務");
run(() => connection.close(), "
關閉連線");
console.readkey();
}public
static
void run(action action,string
description)
: ms");
}public
static t run(funcfunc, string
description)
: ms");
return
result;}}
class
test
public
string name
public
long age }}
程式執行結果如下:
四、根據以上的程式執行結果,可以得出以下結論:
1)sqliteconnection物件初始化、開啟及關閉,其花費時間約為109ms,因此,最好不要頻繁地將該物件初始化、開啟與關閉,這與sql server不一樣,在這裡建議使用單例模式來初始化sqliteconnection物件;
在網上查詢了sqlitehelper幫助類,但很多都是沒執行一次sql語句,都是使用這樣的流程:初始化連線物件->開啟連線物件->執行命令->關閉連線物件,如下的**所示:
public根據以上的結論,如果要求執行時間比較快的話,這樣的編寫**方式實在行不通。int executenonquery(string sql, params
sqliteparameter parameters)
affectedrows =command.executenonquery();
} catch (exception)
} }
return
affectedrows;
}
2)使用executereader方式比使用adapter fill table方式快一點點,但這不是絕對的,這取決於編寫的**;
3)無論是執行插入或查詢操作,使用事務比不使用事務快,尤其是在批量插入操作時,減少得時間非常明顯;
比如在不使用事務的情況下插入3000條記錄,執行所花費的時間為17.252s,而使用事務,執行時間只用了0.057s,效果非常明顯,而sql server不存在這樣的問題。
4)不能每次執行一條sql語句前開始事務並在sql語句執行之後提交事務,這樣的執行效率同樣是很慢,最好的情況下,是在開始事務後批量執行sql語句,再提交事務,這樣的效率是最高的。
Ansible之優化提公升執行效率
今天分享一下ansible在工作環境中有那些可以優化的配置 環境介紹 以前在公司工作處理伺服器問題,需要用批量操作都是用shell指令碼編寫的工具,後來發現ansible這個自動化工具,安裝簡單,操作起來很方便,支援多個模組,由python開發基於ssh協議通訊的工具。這裡有個問題就是如果伺服器越來...
Oracle中update執行效率的優化
工作中經常遇到update大表的時候執行效率很低,那麼怎樣才能讓oracle中update資料量比較大的表執行的更快呢?先看個簡單的例子吧 需求是我們要將表intf cms calluser tpye中的lant id更新成cms.serv base msg表中的latn id,關聯條件是intf ...
優化PHP執行效率的40條技巧
1.如果乙個方法能被靜態,那就宣告他為靜態的,速度可提高1 4 2.echo的效率高於print,因為echo沒有返回值,print返回乙個整型 3.在迴圈之前設定迴圈的最大次數,而非在在迴圈中 4.銷毀變數去釋放記憶體,特別是大的陣列 5.避免使用像 get,set,autoload等魔術方法 6...