[英]C# System.Data.SQLite Designer Code
我一直在與Visual Studio 2008中的SQLite設計器打交道,並且已經注意到,當我使用生成的Insert / Update語句時,它們的運行速度非常慢。
示例:我有一個包含四列和5700行的數據表,大約需要5分鍾才能將數據插入數據庫表
但是,我使用參數和單個事務編寫了自己的數據庫連接和插入方法,並且在1秒內插入了相同的5700行。
為什么生成的代碼這么慢,即使使用它也有什么好處?
謝謝。
內森
如果我正確地知道該insert語句是內置在代碼背后的,那通常會花很長時間執行...它必須被編譯,處理成CLR等。如果在數據庫上使用存儲過程,需要較少的時間,因為從代碼后台調用該過程時,已經完成了這些步驟。 直接在數據庫中使用過程總是比在后台隱藏代碼更好,更快。
我已經閱讀到SQLite的默認行為是將每個Insert語句包裝在Transaction中,我認為這可以解釋您所看到的行為。 當SQLite引擎創建Insert語句時,它會花費很長時間,而在編寫sql時,它會很快運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.