MySQL 数据库的性能从何时开始下降?
我有一个我认为很大的数据库,大约有 1,500 万条记录,占用了将近 2GB 的空间。根据这些数据,我是否有清理数据的动力,还是让它继续扩展几年比较安全?
物理数据库大小无关紧要。 记录数量无关紧要。
根据我的经验,你会遇到的最大问题不是大小,而是你一次能处理的查询次数。 最有可能的情况是,你必须采用主/从配置,这样读取查询可以在从属设备上运行,而写入查询则在主设备上运行。 不过,如果您还没有准备好,可以针对正在运行的查询调整索引,以加快响应时间。 此外,你还可以对 Linux 中的网络堆栈和内核进行很多调整,这些都会有所帮助。
我曾让我的服务器在只有少量连接的情况下达到 10GB,并能很好地处理请求。
我会首先关注你的索引,然后让服务器管理员查看你的操作系统,如果所有这些都没有帮助的话,也许是时候实施主/从配置了。
总的来说,这是一个非常微妙的问题,并不是什么小事。我鼓励你阅读 mysqlperformanceblog.com 和 High Performance MySQL。我真的认为这个问题没有通用答案。
我正在做一个项目,其中有一个数据量接近 1TB 的 MySQL 数据库。最重要的可扩展性因素是内存。如果你的表的索引适合内存,而且你的查询经过了高度优化,你就可以用一台普通的机器来处理合理数量的请求。
记录数确实很重要,这取决于你的表是什么样的。有很多 varchar 字段或只有几个 ints 或 longs 字段是不同的。
数据库的物理大小也很重要:比如备份。根据不同的引擎,物理数据库文件会增长,但不会缩小,例如 innodb。因此,删除大量行无助于缩小物理文件。
这个问题有很多方面,就像很多情况一样,细节决定成败。