为什么 MySQL 软件本体这么大, SQLite 能做到那么小?

2024-01-25 22:45:55 +08:00
drymonfidelia  drymonfidelia
7352 次点击
所在节点   数据库  数据库
55 条回复
XXWHCA
XXWHCA
2024-01-26 09:20:22 +08:00
它都带上 lite 字样了
wanguorui123
wanguorui123
2024-01-26 09:24:12 +08:00
SQLite 轻量,只保留核心功能。
dcsite
dcsite
2024-01-26 09:29:25 +08:00
@ucando 只有你发现了问题的重点! OP 几亿条数据,几个 G 的数据库,还去关注 MySQL 的大小,岂不是有些搞笑
nothingistrue
nothingistrue
2024-01-26 09:33:45 +08:00
@bianhui #15 你要是真客户,术语解释会明明白白的将其限制为 Client - Server 中的 Client 。你要是程序员,那无需文档定义,约定上 Client 指的就是 Client - Server 中的 Client 。
helllkz
helllkz
2024-01-26 09:34:23 +08:00
你赵鹏什么的都在踢中卫,他踢么?踢不了,没这个能力,知道吧
weijancc
weijancc
2024-01-26 09:56:59 +08:00
楼上说得对, 可以用 DuckDB
qiyilai
qiyilai
2024-01-26 10:01:16 +08:00
也没必要打包到客户端里吧,单独安装也行吧
lifei6671
lifei6671
2024-01-26 10:15:18 +08:00
@786375312123 这是很常见的应用呀。很多 IOS 或 Android 的应用用来缓存本地数据会用到 sqlite 呀。你去看看微信的客户端,底层很多数据也是 sqlite 缓存的。
june4
june4
2024-01-26 10:21:01 +08:00
数据量和一条 sql 几分钟没什么关系,你这肯定全表扫描了,上 mysql 即使更快也有限。主要还是索引没弄好或者本身是全表统计。
以前呆过一家做企业软件的,里面的开发人员完全不懂索引优化,sql 随便写对执行计划怎样根本没这个意识。
cccer
cccer
2024-01-26 11:20:56 +08:00
分表做好,我 20 亿数据 SQLite 没索引也是秒查,既然打包到客户端就不用考虑高并发问题。
sujin190
sujin190
2024-01-26 11:33:48 +08:00
这数据量如果客户端安装不能保证内存充足和 ssd ,估计换 mysql 也提升不了多少,不知道你的客户端安装环境怎样,ToB 的话其实客户端大个几百兆无所谓,ToC 的话安装环境估计也无法保证资源充足似乎你换啥都意义不大吧
wswlaz
wswlaz
2024-01-26 13:22:37 +08:00
一个服务端,一个客户端...... 你觉得呢......
agagega
agagega
2024-01-26 13:31:21 +08:00
除了部署在服务器上这种需要并发访问的情况 SQLite 不适合,SQLite 其实是个相当强大的数据库,不要因为名字就瞧不起它。如果是在客户端保存一些数据的场景,用 SQLite 的性能几乎一定比自定义各种乱七八糟的格式或者序列化到 JSON/XML 然后一股脑 fwrite 到硬盘更好。
flynaj
flynaj
2024-01-26 13:47:08 +08:00
SQLite 名字就暗示它小,适合少量数据。只支持基本的 sql,没有复杂功能,普通用户最多接触到的就是 chrome 类 ll 浏览器用来存用户数据,比起 ini 文件.自定义的 dat 文件,性能,操作性更好。
drymonfidelia
drymonfidelia
2024-01-26 13:48:12 +08:00
@ucando
@dcsite 软件本体和数据库是分开分发的
drymonfidelia
drymonfidelia
2024-01-26 13:50:16 +08:00
@flynaj chrome 只有已经废弃的 indexeddb 用的是 sqlite 吧?用自定义的 dat 文件还需要自己写索引、删除数据逻辑吧
drymonfidelia
drymonfidelia
2024-01-26 13:55:17 +08:00
drymonfidelia
drymonfidelia
2024-01-26 13:55:33 +08:00
wanqiangcrack
wanqiangcrack
2024-01-26 14:24:06 +08:00
没有白占的空间,也没有白吃的内存。
whyrookie
whyrookie
2024-01-26 15:33:13 +08:00
@786375312123 客户端带个本地数据库,离线使用不是很常见吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1011610

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX