2017-12-27 338 views
1

前言SQLite的.NET提供與「準備語句」功能

人們可以找到的SQLite的「預處理語句」功能here的描述。

SQLite的命令(用於.NET SQLite的提供商)具有 「準備」 結合以下描述的方法:

總結: 不執行任何操作。命令是在第一次執行 時準備的,並在事後保持準備狀態。

質詢

  1. 一般情況下,做的SQLite的預處理語句功能提高查詢的整體性能,這是一遍又一遍的執行?
  2. 準備好的陳述保存在哪裏?我如何確定這些準備好的陳述實際上正在被使用?
  3. 我如何確定Dapper正在使用這些語句? (在我的情況下,我使用Dapper來運行相同的查詢幾百次。查詢根據傳遞的參數在每次調用中提取10k結果)。

編輯:

Just've發現this,這部分地回答了我的問題。不用說,如果我需要建立DbCommand我的自我,然後將它保留在某個地方,我怎樣才能將這個命令與Dapper一起使用?

回答

2

說Dapper目前不打電話Prepare()是完全正確的。

您可以讀取擴展解釋here

長話短說的主要原因是:小巧玲瓏真的,真的不希望存儲的連接,因爲它是設計時考慮了高併發,通常在工作DbConnection壽命短的情況下

+1

那麼,這是有道理的。也許普通的ADO.net將在這個特定的場景中爲我工作。謝謝 –