繁体   English   中英

mysql / innodb数据库大小如何影响性能?

[英]How mysql/innodb database size impacts performance?

我有一个30 GB的大型mysql数据库,其中所有表都使用innodb引擎。 几乎所有这些空间都由一个大表(大约25 GB)占用,我以二进制格式存储大文本,但是99%的查询使用其他较小的表。

我的服务器有16 GB的内存,系统内存非常不足,总是使用swap,这给我的用户带来很多麻烦。 我的innodb_pool_buffer_size设置为6G

我正在考虑通过将这些文本从数据库移动到文件系统来解决此性能问题。

如果大多数查询不使用此大表,将25 GB的文本移到文件系统是否可以解决此问题? 即使最大的innodb表没有过多地用于查询,数据库大小也会影响服务器性能吗?

您的问题中没有足够的信息来提供答案。

在为问题应用可能的解决方案之前,您需要采取系统的方法来发现问题 否则,您将开处方随机药物,以治疗未知疾病。 使问题变得更糟的程度与使问题变得更好或没有效果的可能性一样大。

首先对缓慢的查询运行EXPLAIN ,以查看它们在做什么。 确保您的表已正确索引以改善这些查询(如果尚未进行)。 然后,如果您仍然遇到问题,请在此处发布最慢的查询以及EXPLAIN的输出作为新问题,您将获得更多有用的答案。

我完全同意Flimzy的观点,您将需要仔细检查数据库的使用方式,如果需要优化数据库的帮助,则需要更多信息。

但是,我可以回答您两个问题。 在99.9%的情况下,迁移到基于文件的系统并不比MySQL更好。 MySQL具有比标准文件系统更好的方法来对数据进行排序,排序和选择。 基本上,任何操作系统都很难在单个目录中维护大量文件,并且HDD的I / O和延迟时间将很快消失。
第二个问题是:不,数据库/表的大小不必影响服务器性能。 我有一个145 GiB InnoDB表(允许,它在SSD上),并且在我的网站没有受到太大影响的情况下,它被严重使用。 :ole Flimzy说,您将必须优化SQL Server,表设计和索引编制,然后查询以获得最佳性能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM