亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQLite > 正文

SQLite速度評測代碼

2020-01-25 19:30:33
字體:
來源:轉載
供稿:網友

SQLite 作為一個輕量級嵌入式數據庫,還是非常好用的。雨痕極力推薦~~~~~~

今天有個朋友測試 SQLite,然后得出的結論是:SQLite 效率太低,批量插入1000條記錄,居然耗時 2 分鐘!

下面是他發給我的測試代碼。我暈~~~~~~

using System.Data;

using System.Data.Common;

using System.Data.SQLite;

// 創建數據庫文件

File.Delete("test1.db3");

SQLiteConnection.CreateFile("test1.db3");

DbProviderFactory factory = SQLiteFactory.Instance;

using (DbConnection conn = factory.CreateConnection())

{

// 連接數據庫

conn.ConnectionString = "Data Source=test1.db3";

conn.Open();

// 創建數據表

string sql = "create table [test1] ([id] INTEGER PRIMARY KEY, [s] TEXT COLLATE NOCASE)";

DbCommand cmd = conn.CreateCommand();

cmd.Connection = conn;

cmd.CommandText = sql;

cmd.ExecuteNonQuery();

// 添加參數

cmd.Parameters.Add(cmd.CreateParameter());

// 開始計時

Stopwatch watch = new Stopwatch();

watch.Start();

// 連續插入1000條記錄

for (int i = 0; i < 1000; i++)

{

cmd.CommandText = "insert into [test1] ([s]) values (?)";

cmd.Parameters[0].Value = i.ToString();

cmd.ExecuteNonQuery();

}

// 停止計時

watch.Stop();

Console.WriteLine(watch.Elapsed);

}

哎~~~~ 一個常識性的錯誤,我加幾行代碼 (新增代碼標記 "// <-------------------")。

using System.Data;

using System.Data.Common;

using System.Data.SQLite;

// 創建數據庫文件

File.Delete("test1.db3");

SQLiteConnection.CreateFile("test1.db3");

DbProviderFactory factory = SQLiteFactory.Instance;

using (DbConnection conn = factory.CreateConnection())

{

// 連接數據庫

conn.ConnectionString = "Data Source=test1.db3";

conn.Open();

// 創建數據表

string sql = "create table [test1] ([id] INTEGER PRIMARY KEY, [s] TEXT COLLATE NOCASE)";

DbCommand cmd = conn.CreateCommand();

cmd.Connection = conn;

cmd.CommandText = sql;

cmd.ExecuteNonQuery();

// 添加參數

cmd.Parameters.Add(cmd.CreateParameter());

// 開始計時

Stopwatch watch = new Stopwatch();

watch.Start();

DbTransaction trans = conn.BeginTransaction(); // <-------------------

try

{

// 連續插入1000條記錄

for (int i = 0; i < 1000; i++)

{

cmd.CommandText = "insert into [test1] ([s]) values (?)";

cmd.Parameters[0].Value = i.ToString();

cmd.ExecuteNonQuery();

}

trans.Commit(); // <-------------------

}

catch

{

trans.Rollback(); // <-------------------

throw; // <-------------------

}

// 停止計時

watch.Stop();

Console.WriteLine(watch.Elapsed);

}

執行一下,耗時 0.2 秒。這差距是不是太大了點?

為什么只是簡單啟用了一個事務會有這么大的差距呢?很簡單,SQLite 缺省為每個操作啟動一個事務,那么原代碼 1000 次插入起碼開啟了 1000 個事務,"事務開啟 + SQL 執行 + 事務關閉" 自然耗費了大量的時間,這也是后面顯示啟動事務后為什么如此快的原因。其實這是數據庫操作的基本常識,大家要緊記,不好的代碼效率差的不是一點半點。

上一篇:SQLite優化方法

下一篇:返回列表

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国内高清视频| 久久久久久国产精品美女| 中文字幕欧美视频在线| 久久韩剧网电视剧| 日韩国产精品视频| 午夜精品美女自拍福到在线| 国产精品入口夜色视频大尺度| 国产欧美一区二区三区视频| 国产一区二区三区在线看| 久久久成人精品视频| 久久亚洲欧美日韩精品专区| 成人欧美一区二区三区黑人| 亚洲 日韩 国产第一| 成人97在线观看视频| 亚洲综合中文字幕在线| 国产一区二区三区视频在线观看| 久久久人成影片一区二区三区| 91精品国产自产91精品| 国产成人精品免高潮费视频| 欧美激情久久久| 中文字幕国产精品久久| 欧美日韩一区二区免费视频| 亚洲欧美日韩成人| 成人做爰www免费看视频网站| 日韩精品在线影院| 欧美激情欧美激情| 日本一区二区不卡| 欧洲日韩成人av| 亚洲国产精品专区久久| 国产欧美精品va在线观看| 亚洲欧洲国产伦综合| 国内伊人久久久久久网站视频| 欧美日韩成人黄色| 国产精品香蕉国产| 国产丝袜一区二区三区免费视频| 国产精品日韩一区| 亚洲一区亚洲二区亚洲三区| 久久色精品视频| 在线观看日韩www视频免费| 国产做受高潮69| 欧美精品一区二区免费| 日韩av电影在线播放| 亚洲欧美日韩久久久久久| 日韩欧美亚洲一二三区| 亚洲成人黄色网| 97在线视频观看| 久久久视频精品| 国产精品国产自产拍高清av水多| 精品香蕉一区二区三区| 欧美乱大交xxxxx另类电影| 亚洲精品永久免费| 亚洲成人av片在线观看| 日韩免费av在线| 欧美日韩在线第一页| 国产精品88a∨| 久久97久久97精品免视看| 九九热精品视频| 日韩中文字幕国产| 欧美中文字幕第一页| 国产精品欧美风情| 亚洲精品少妇网址| 欧美中文字幕视频在线观看| 91视频免费网站| 中文字幕日韩视频| 国产视频999| 色综合91久久精品中文字幕| 国产欧美在线视频| 成人免费看片视频| 欲色天天网综合久久| 国产日本欧美在线观看| 午夜精品一区二区三区在线播放| 视频在线观看99| 欧美色播在线播放| 欧美激情一级精品国产| 国产一区二区三区视频| 国产精品成人一区二区三区吃奶| 亚洲人成亚洲人成在线观看| 欧美精品九九久久| 日日骚av一区| 久久综合伊人77777尤物| 欧美日韩亚洲网| 国产伦精品免费视频| 蜜臀久久99精品久久久久久宅男| 久久精品国产免费观看| 成人激情视频网| 日本高清视频精品| 欧美在线xxx| 精品成人国产在线观看男人呻吟| 日本精品一区二区三区在线播放视频| 亚洲精品网站在线播放gif| 最好看的2019的中文字幕视频| 日本免费一区二区三区视频观看| 国产成人小视频在线观看| 国模叶桐国产精品一区| 亚洲人成五月天| 清纯唯美亚洲综合| 久久久日本电影| 精品久久久久久久久久国产| 久久精品99无色码中文字幕| 欧美在线视频免费观看| 亚洲成av人片在线观看香蕉| 51视频国产精品一区二区| 亚洲精品久久在线| 亚洲视频在线视频| 亚洲欧美日韩国产精品| 午夜精品久久久久久久男人的天堂| 国产视频自拍一区| 欧美与黑人午夜性猛交久久久| 日韩欧美精品中文字幕| 欧洲成人在线观看| 91av在线网站| 成人av资源在线播放| 欧美黑人国产人伦爽爽爽| 国产精品成久久久久三级| 久久69精品久久久久久国产越南| 国产精品高潮视频| 亚洲国产福利在线| 成人美女免费网站视频| 成人网在线观看| 成人久久18免费网站图片| 欧美日韩裸体免费视频| 91免费精品国偷自产在线| 在线亚洲欧美视频| 国产精品爱啪在线线免费观看| 一二美女精品欧洲| 国产偷国产偷亚洲清高网站| 欧美高清视频在线播放| 欧美视频二区36p| 狠狠色噜噜狠狠狠狠97| 97超视频免费观看| 亚洲精品国产精品乱码不99按摩| 国产一区二区三区在线观看网站| 久久在精品线影院精品国产| 日韩欧美高清视频| 欧美午夜丰满在线18影院| 中文字幕亚洲天堂| 亚洲国产精品一区二区久| 久久久久国产视频| 亚洲iv一区二区三区| 亚洲国产高潮在线观看| 韩国精品美女www爽爽爽视频| 国产亚洲精品美女久久久| 久久免费精品视频| 91精品久久久久久综合乱菊| 欧美成人免费观看| 51午夜精品视频| 日韩美女毛茸茸| 在线播放日韩专区| 精品无人国产偷自产在线| 欧美理论电影在线观看| 91丨九色丨国产在线| 成人激情在线播放| 亚洲视频视频在线| 狠狠干狠狠久久| 国产狼人综合免费视频| 中文字幕久久亚洲| 久久精品99久久久久久久久| 亚洲国产成人久久综合| 欧美老女人在线视频| 亚洲精品成人av| 97高清免费视频| www国产亚洲精品久久网站| 欧美性精品220| 国产精品高清在线|