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

2024-01-25 22:45:55 +08:00
 drymonfidelia
7302 次点击
所在节点    数据库
55 条回复
James369
2024-01-25 23:05:22 +08:00
好比电脑和手机,飞机和航模
wheat0r
2024-01-25 23:37:18 +08:00
还能这么比
Thiece
2024-01-25 23:39:15 +08:00
应为功能少,存储过程、触发器、数据分区、网络访问、复制功能、事务管理 SQLite 实现的怎么样
thevita
2024-01-25 23:44:06 +08:00
微信最初的版本 大小 457KB
现在的微信已经 奔着数百兆去了

而他核心功能基本差不多
kirory
2024-01-25 23:45:28 +08:00
需求不同
SQLite 会跑在各种设备上,MySQL 不用这样
imydou
2024-01-26 02:13:09 +08:00
先不说复杂的,sqlite 才几种数据类型
drymonfidelia
2024-01-26 02:49:01 +08:00
需求是把数据库打包进客户端(好几张表数据量都过亿条),SQLite 加各种索引都撑不住,查询一次三分钟,只能考虑把 MySQL 打包进去,但是这东西也太大了
786375312123
2024-01-26 04:53:47 +08:00
数据库打包进客户端?什么客户端?
什么样的奇才会想出来这种构架。
acapla
2024-01-26 05:31:34 +08:00
让我想起了 GTA Online 开始的十分钟 for loop.
dyv9
2024-01-26 06:29:31 +08:00
好奇,啥都客户端做了,你的服务器在做啥?如果没有服务器你为啥叫它客户端
bkmi
2024-01-26 07:40:35 +08:00
多大的数据量,说实话几十 G 的微信聊天记录搜索都能秒搜,SQLite 已经足够强了(微信用的是修改版的 SQLite ,有开源,叫 WCDB )
hefish
2024-01-26 07:44:41 +08:00
@dyv9 老哥的灵魂一问,问的有道理。。。
mightybruce
2024-01-26 07:52:14 +08:00
mysql 打入客户端 操作太神奇,你要调研几种嵌入式数据库, 而不是打包 mysql
比如 WCDB 、Firebird
netnr
2024-01-26 08:40:16 +08:00
换 DuckDB
bianhui
2024-01-26 08:40:17 +08:00
@dyv9 ?客户端一定要有服务端?想当然了吧,客户端的字面定义也就是客户所使用的端。有没有其它端毫无关联。
Worldispow
2024-01-26 08:41:15 +08:00
oracle:你在说什么?
bianhui
2024-01-26 08:43:00 +08:00
工业软件很多内网环境使用,没有服务端很正常,要求有数据检索数据存储功能也很正常。安装后启动一个 mysql 也很正常。你可以尝试 mysql 作为可选依赖性,用户配置,默认使 sqlite 看能不能分库。或者用一些比较小的数据库发行版
opengps
2024-01-26 08:43:43 +08:00
SQLlite 面向文件,mysql 面向进程
gbw1992
2024-01-26 08:51:05 +08:00
@drymonfidelia #7 你这种不是 sqlite 的问题,最简单的处理方式就是分库。多数据库文件,客户机上固态硬盘。
ucando
2024-01-26 09:11:22 +08:00
好几个表都过亿条, 我想单单是库文件就不小了, 再加 mysql 那点大小又算啥?

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

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

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

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

© 2021 V2EX