亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在.NET CORE中使用Dapper的SQLite查詢速度極慢

在.NET CORE中使用Dapper的SQLite查詢速度極慢

C#
慕娘9325324 2021-04-05 17:14:54
我有一些代碼可以從.NET Core 2.0中的本地SQLite數據庫文件中提取HTML頁面。在調試模式下運行時,此代碼可以正常工作,但是在發布應用程序后,該代碼在生產中的運行速度非常慢。我使用秒表來診斷是哪段代碼導致了該問題,connection.QueryFirstOrDefault并發現在調試模式下需要2毫秒才能找到單行,但是同一任務在發布該應用程序后需要1.4秒。大約慢了700倍。//initialize connectionvar connection = new SqliteConnection("Data Source=" + dbName);// Build SQL Stringstring query = @"SELECT *               FROM HtmlItems               WHERE PostID = 1;// Start Timervar watch = System.Diagnostics.Stopwatch.StartNew();Submit queryHtmlItem = connection.QueryFirstOrDefault<HtmlItem>(query);// End Timerwatch.Stop();var result = watch.ElapsedMilliseconds();查詢映射到一個看起來像這樣的對象public class HtmlItem{    public int PostID { get; set; }    public string PostTitle { get; set; }    public string PostDescription { get; set; }    public int PostDate { get; set; } // Unix Timestamp    public int Hidden { get; set; }    public string Url { get; set; }    public string PostHTML { get; set; }}在調試和生產中使用相同的數據庫文件,該數據庫文件只有三行。我的應用程序應該是嘗試訪問該文件的唯一方法。索引SQLite數據庫文件似乎并沒有提高任何速度。我想知道如何確定導致數據庫連接的生產速度降低700倍的原因。
查看完整描述

1 回答

?
HUX布斯

TA貢獻1876條經驗 獲得超6個贊

同步讀取文件時,在.net核心上使用dapper時,SQLite似乎不太快。

如果您使用異步讀取文件,那么它似乎要快得多。

HtmlItem = await connection.QueryFirstOrDefault<HtmlItem>(query);


查看完整回答
反對 回復 2021-04-10
  • 1 回答
  • 0 關注
  • 673 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號