MySQL社区-扩展

时间:2018-07-02 14:57:39

标签: mysql sharding

我在极端负载的环境中工作。它是大约一千个用户使用一个应用程序使用的数据库。该应用程序对数据库执行数千个查询。我们注意到随着时间的推移,性能会显着下降,并且正在寻找针对此问题的长期解决方案。当然,查询优化是我们正在从事的任务之一,我们也在优化索引。但是,这不足以看到我们需要的性能提升。

我在SQL Server中工作了几年,但是我的MySQL知识有限。为了开始扩展MySQL,我已经研究了Sharding,但是当我们使用MySQL社区版时,我很担心这会引起更多的头痛。唯一的另一种可能性是重新设计应用程序,特别是它如何从数据库中提取数据,但我宁愿不这样做。

所以我的问题是,分享值得追求吗?没有MySQL企业版是否可行?您还可以推荐另一种可能性吗?

1 个答案:

答案 0 :(得分:1)

使用long_query_time=1打开慢速日志。等等使用pt-query-digest来确定查询的“最差”情况。然后让我们讨论一下。有时它涉及琐碎地添加“复合”索引。

也就是说,查询缓慢几乎总是导致扩展问题的原因。

如果我们将其消除为一个问题,那么然后我们可以讨论分片和其他非平凡的方法。

我们必须查看SHOW CREATE TABLE以及发生情况的其他线索。