Sqlite使用中的幾點體會。

來源:互聯網
上載者:User

最近接了個美國的小項目,主要需求是把盤點機匯出的資料(DBF格式)和另外的資料(csv格式)合并產生新的資料表,方便查詢錯誤修正。對方沒有安裝ms Access,考慮到對方使用方便,就採用了sqlite,開發語言使用.net 2.0。 下面簡單羅列下用過程中的幾點體會。

Provider:通過使用其他開源軟體的體會和網上搜尋,Provider決定使用System.Data.SQLite。

事務(DbTransaction):因為涉及資料匯入合并,批量插入和更新等工作是必須的了,一開始沒有顯式調用事務,速度別提多慢,於是想當然覺得sqlite速度比access還慢,後來搜尋發現,原來SQLite 預設為每個操作啟動一個事務,其實這是資料庫操作的基本常識,不僅僅Sqlite需要注意這些,當然Access等不支援事務的不在此列。

索引(index):資料匯入合并,插入和更新時都需要查詢資料是否有重複以及存在,所以索引是不可以缺少的。

SQLiteParameter:批量插入的時候,為了省懶事,使用string.format來格式化插入,結果碰到“near "s": syntex error.”,經過跟蹤,原來是單引號(')的問題,看來還是乖乖使用SQLiteParameter來規範地匯入,並可以避免很多字元上的問題。

Update ...From(Cross Join in Update):Sqlite 不支援類似

“UPDATE tbl1 SET col2 = tbl2.col2
FROM table1 tbl1 INNER JOIN table2 tbl2 ON tbl1.col1 = tbl2.col1”

的update,替代的解決辦法是:

UPDATE table1 SET col2 = (select col2 from table2 where table2.col1=table1.col1 limit 1)

where exists(select * from table2 where table2.col1=table1.col1); 

查詢分析器:我選擇SQLite Administrator,後來發現Firefox的外掛程式(addons) Sqlite Manager也是不錯的選擇。

下面順便列些和DotNet開發的和SQLite有關的項目:

Convert SQL Server DB to SQLite DB:C# utility to automatically do the conversion from SQL Server DB to SQLite DB(一個把ms SQL Server資料庫自動轉為SQLite DB的工具,包括原始碼)。

SQLite Membership, Role, and Profile Providers:Complete,
production-ready Membership, Role, and Profile providers for SQLite.
Includes instructions for migrating data between SQL Server and SQLite.

相關文章
阿里云产品大规模降价
  • 最高幅度達59%,平均降幅23%
  • 核心產品降價
  • 多地區降價
undefined. /
透過 Discord 與我們聯繫
  • 安全、匿名的群聊,不受干擾
  • 隨時了解活動、活動、新產品等訊息
  • 支持您的所有問題
undefined. /
免費試用
  • 開啟從ECS到大數據的免費試用之旅
  • 只需三步 輕鬆上雲
  • 免費試用ECS t5 1C1G
undefined. /

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.