【发布时间】:2015-06-09 17:16:09
【问题描述】:
我想设置一个 teampeak 3 服务器。我可以选择 SQLite 和 MySQL 作为数据库。好吧,我通常倾向于“不要在生产中使用 SQLite”。但另一方面,它是一个团队语音服务器。好吧,让我用谷歌搜索一下……我找到了这个:
- 速度
SQLite3 比 MySQL 数据库快得多。这是因为文件数据库总是比 unix socket 快。当我请求编辑频道时,在 MySQL 数据库 (127.0.0.1) 上大约需要 0.5-1 秒,在 SQLite 3 上几乎是立即 (0.1 秒)。[...]
http://forum.teamspeak.com/showthread.php/77126-SQLite-vs-MySQL-Answer-is-here
我不想引发 SQLite 与 MySQL 的争论。我只想问:他的论点是否有效?我无法想象他所说的是真的。但不幸的是,我不够专业,无法自己回答这个问题。
也许 TeamSpeak 开发人员的数据库架构在 SQLite 和 MySQL 之间存在一些重大差异,这解释了速度上的巨大差异(我无法想象这一点)。
【问题讨论】:
-
我可以相当肯定地说,SQLite 在 DROPPING 表上速度较慢。我相信原因是 MySQL 将每个表存储在离散文件中,而 SQLite 将整个 DB 存储在一个文件中……需要搜索和销毁,而不仅仅是删除文件。删除我的表需要 1.5 分钟,删除 SQLite DB 需要 1 秒。
-
请记住整个“不要在生产中使用sqlite”仅指需要许多并发读/写的应用程序,sqlite绝对是一个生产质量的RDBMS。任何说其他话的人都是骗子。根据预期并发请求的数量,使用 sqlite 可能比其他 RDBMS 好得多。我多年来一直将 sqlite 用于只需要简单登录等的小型 Web 应用程序。而且我已经并且仍然在大型(许多用户发布许多更新)应用程序上使用 mysql,很明显 sqlite 比 mysql 快多少。
标签: mysql database sqlite teamspeak