gpt4 book ai didi

mysql - SQLite 比 MySQL 快?

转载 作者:IT老高 更新时间:2023-10-29 00:15:55 33 4
gpt4 key购买 nike

我想设置一个 teampeak 3 服务器。我可以选择 SQLite 和 MySQL 作为数据库。好吧,我通常倾向于“不要在生产中使用 SQLite”。但另一方面,它是一个团队语音服务器。好吧,让我用谷歌搜索一下……我找到了这个:

  1. Speed
    SQLite3 is much faster than MySQL database. It's because file database is always faster than unix socket. When I requested edit of channel it took about 0.5-1 sec on MySQL database (127.0.0.1) and almost instantly (0.1 sec) on SQLite 3. [...]

http://forum.teamspeak.com/showthread.php/77126-SQLite-vs-MySQL-Answer-is-here

我不想引发 SQLite 与 MySQL 的争论。我只想问:他的论点是否有效?我无法想象他所说的是真的。但不幸的是,我不够专业,无法自己回答这个问题。

也许 TeamSpeak 开发人员的数据库架构在 SQLite 和 MySQL 之间存在一些重大差异,这解释了速度上的巨大差异(我无法想象这一点)。

最佳答案

在 SQLite 中首次访问会更快

SQLite 的访问时间一开始会显得更快,但这是在少数用户在线的情况下。 SQLite 使用了一种非常简单的访问算法,速度很快但不能处理并发。

随着数据库开始增长,同时访问的数量将开始受到影响。服务器处理多个请求的方式完全不同,而且更加复杂,并且针对高并发进行了优化。例如,如果正在进行更新,SQLite 将锁定整个表,并对订单进行排队。

RDBMS 做了很多额外的工作,使它们更具可扩展性

例如 MySQL,即使是单个用户也会创建一个访问队列,部分锁定表而不是只允许单个用户每次执行,以及其他相当复杂的任务,以确保数据库仍然可以被任何其他人访问同时访问。

这会使单个用户的连接变慢,但在未来会有返回,当有 100 个用户在线时,在这种情况下,简单的“锁定整个表并每次执行一个查询”SQLite 的程序会占用服务器。

SQLite 是为简单和独立的数据库应用程序而设计的。

如果您希望同时有 10 个访问写入数据库,SQLite 可能会表现良好,但您不会想要一个 100 个用户的应用程序,它使用 SQLite 不断地向数据库写入和读取数据。它不是为这种情况设计的,它会浪费资源。

考虑到您的 TeamSpeak 场景,您可能对 SQLite 没有问题,即使对于某些业务也没有问题,某些网站需要只读的数据库,除非添加新内容。

对于这种用途,SQLite 是一种廉价、易于实现、自包含的完美解决方案,可以完成工作。

关于mysql - SQLite 比 MySQL 快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29452110/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com