簡體   English   中英

C#System.Data.SQLite設計器代碼

[英]C# System.Data.SQLite Designer Code

我一直在與Visual Studio 2008中的SQLite設計器打交道,並且已經注意到,當我使用生成的Insert / Update語句時,它們的運行速度非常慢。

示例:我有一個包含四列和5700行的數據表,大約需要5分鍾才能將數據插入數據庫表

但是,我使用參數和單個事務編寫了自己的數據庫連接和插入方法,並且在1秒內插入了相同的5700行。

為什么生成的代碼這么慢,即使使用它也有什么好處?

謝謝。

內森

如果我正確地知道該insert語句是內置在代碼背后的,那通常會花很長時間執行...它必須被編譯,處理成CLR等。如果在數據庫上使用存儲過程,需要較少的時間,因為從代碼后台調用該過程時,已經完成了這些步驟。 直接在數據庫中使用過程總是比在后台隱藏代碼更好,更快。

我已經閱讀到SQLite的默認行為是將每個Insert語句包裝在Transaction中,我認為這可以解釋您所看到的行為。 當SQLite引擎創建Insert語句時,它會花費很長時間,而在編寫sql時,它會很快運行。

http://www.sqlite.org/faq.html#q19

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM