gpt4 book ai didi

mysql - 我应该使用 SQLite 而不是 MySQL 吗?

转载 作者:行者123 更新时间:2023-11-29 01:14:08 25 4
gpt4 key购买 nike

我需要改进一个 PHP-MySQL Web 应用程序,它只使用 MySQL 进行 REPL 操作(和一些搜索功能)。我使用的 99% 的应用程序从未使用过高级 MySQL 功能,例如复制、跨表约束、锁定等。

据我所知,我应该改用 SQLite。

我这样做有什么实际好处吗?我会看到明显的(>100 毫秒)速度提升吗?我应该预料到超过 1,000,000 行的表会出现问题吗?

最佳答案

对此没有包罗万象的答案,但有一个要点需要考虑:一个很好的经验法则是,并发度越高,从 MySQL 中获益越多,反之亦然.

这意味着在数据库请求永远不会并发的情况下,您可能会通过使用 SQlite 看到加速,但我怀疑它会在 100 毫秒的数量级。

这背后的原因是(非常粗略):

在数据库服务器环境中,例如 MySQL、PostgreSQL、MS SQL、Oracle 等,一个专用进程(或一组进程)专门接触数据库文件——重要的部分是专用 .这意味着并发问题可以在进程中解决。

在基于文件的数据库中,例如 SQlite、MS Access(Jet 引擎)和 friend ,多个进程将在彼此不知情的情况下访问 DB 文件——这意味着并发问题必须通过将它们写入数据库或帮助文件。这通常要慢得多且不那么健壮。作为交换,数据库客户端(Web 应用程序)和数据库服务器(进程中)之间的通信开销是不存在的。

编辑

在评论之后我想说得更清楚,我说的是并发写入,而不是并发读取。并发读取不变的数据集并不是一个难题 - 它根本不需要任何锁定。

关于mysql - 我应该使用 SQLite 而不是 MySQL 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12254326/

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