VCA

SQLite

整個資料庫就是一個檔案,輕巧到不需要伺服器,是世界上部署最廣的資料庫。

更新於 閱讀約 1 分鐘編輯方針#資料庫#輕量#嵌入式

還不熟這個主題?先看基礎: 資料庫 Database

一句話解釋

SQLite 把整個資料庫變成『一個檔案』,輕巧到不需要伺服器,部署量全球第一。

白話文說明

SQLite 是一個非常特別的資料庫:它沒有獨立的伺服器,整個資料庫就是一個檔案。要用它,不必安裝、不必設定,程式直接讀寫那個檔案就好。正因為輕巧可靠,它被裝進了幾乎所有手機與瀏覽器,是世界上部署最廣的資料庫。

它的甜蜜點是小型應用與讀多寫少的場景。當很多人要同時、高頻地寫入時,單一檔案就會成為瓶頸——這時就要考慮 Postgres 或專為雲端設計的 D1

架構圖

運作流程

寫入限制,具體說

大家用 SQLite 真正會撞到的天花板只有一個:寫入。它同一時間只允許一個寫入者,所以寫入是一筆接一筆排隊處理(序列化)。讀取則完全不受影響、又快又能多人同時讀。這就是為什麼它在讀多寫少、以及單人或單機的場景特別好用,但一旦很多人同時要寫,就會開始吃力。

常見誤解:以為 SQLite 是「學習用的玩具資料庫」。它其實是全球部署最廣的資料庫,也是 D1 等邊緣資料庫的底層——真正的界線不是你的應用「夠不夠正式」,而是「很多人要同時寫入」。

重點整理

  • SQLite=整個資料庫就是一個檔案,零設定。
  • 極輕量可靠,部署量世界第一。
  • 高併發寫入是弱項,大規模時改用其他資料庫。

生活化比喻

像一本隨身筆記本:不用蓋圖書館,帶著走就能記、就能查,超級方便。

優勢

  • 零設定,整個庫就是一個檔案
  • 極輕量、極快,無需額外伺服器
  • 可靠且應用極廣(手機、瀏覽器都有)

缺點

  • 高併發寫入不是強項
  • 不適合超大規模多人同時寫入

適用場景

  • 小型應用、原型、單機工具
  • 讀多寫少的場景

不適用場景

  • 大量使用者同時高頻寫入的系統

新手評分卡

新手推薦度
5/5
學習成本(分數越高=成本越高)
2/5
市場需求
3/5
AI 生成友善度
4/5

常見問題

SQLite 是「玩具資料庫」嗎?

完全不是。它是世界上部署最廣的資料庫,存在於每支手機與瀏覽器裡,對讀多寫少的應用非常可靠又快。

SQLite 適合正式產品嗎?

適合許多場景,尤其讀多、單寫者或邊緣部署(Cloudflare D1 就以 SQLite 為基礎)。高並發多寫場景才需要換 Postgres/MySQL。

SQLite 和 MySQL 最大的差別?

SQLite 是「一個檔案、內嵌在應用內」,無需架伺服器;MySQL 是獨立的伺服器程式,為多人高並發連線而生。

參考來源

  1. SQLite DocumentationSQLite
  2. About SQLiteSQLite