SQLite:被低估的数据库

提到数据库,很多人首先想到 MySQL、PostgreSQL。但 SQLite 作为世界上部署最广泛的数据库,常常被低估。

SQLite 的优势

零配置

不需要安装服务器,不需要配置用户权限,不需要管理连接池。一个文件就是整个数据库。

性能

对于读多写少的场景(比如博客),SQLite 的性能完全够用:

-- 查询文章列表,毫秒级响应
SELECT p.*, c.name as category_name
FROM posts p
LEFT JOIN categories c ON p.category_id = c.id
WHERE p.status = 'published'
ORDER BY p.created_at DESC
LIMIT 10;

可靠性

SQLite 的 ACID 事务完全符合标准,数据安全性有保障。

适用场景

场景 推荐
个人博客 ✅ 非常适合
小型网站 ✅ 适合
嵌入式应用 ✅ 非常适合
高并发写入 ❌ 不适合
分布式系统 ❌ 不适合

在 Go 中使用

使用 modernc.org/sqlite 这个纯 Go 实现,无需 CGO:

import _ "modernc.org/sqlite"

db, err := sql.Open("sqlite", "blog.db")

总结

SQLite 不是"玩具数据库",而是一个经过几十年打磨的、可靠的、高性能的嵌入式数据库。对于个人项目来说,它可能是最好的选择。

数据库