从MariaDB切换到MongoDB? 70G 1 Mio行

时间:2018-10-31 11:02:01

标签: mysql mongodb mariadb

我们有一个70G的MariaDB表。 100万行,每行100列。

问题是,查询最多需要10到15分钟。 如果我们切换到“大数据”数据库,是否可以解决此问题?

MongoDB这样的数据系统很好吗?

每天该表中大约有300.000个新行。除此之外,将没有更新/删除。只需选择。

已经有人对此主题进行过体验吗? MariaDB真的会更快吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

任何类型的大型数据库都受磁盘速度的限制。您将从一个I / O绑定数据库切换到另一个I / O绑定数据库。

相反,让我们看一下您正在做的细节。即使磁盘速度较慢,十亿行表上的“点查询”也只需要几毫秒。这是因为任何数据库(值得使用)都可以通过索引非常快速找到行。

因此,显然,您没有合适的索引,或者您正在做复杂的事情。让我们看一下SELECT和架构(SHOW CREATE TABLE)。它可能很简单,例如添加“复合”索引或重新构造查询。改变供应商不太可能是解决方案。

好的,您给了我们一个线索:where date LIKE '201808%'。我希望dateDATETIMETIMESTAMP。它不能使用索引,因为它需要在执行date之前将每个LIKE隐瞒到一个字符串中。因此进行表扫描。而是:

WHERE date >= '2018-08-01`
  AND date  < '2018-08-01` + INTERVAL 1 MONTH

那个可以使用索引。

WHERE中还有其他内容吗? using inex condition听起来好像还有其他东西。请向我们展示整个SELECT

您有一个LIMIT 10000是否可以加快查询速度。还有ORDER BY吗? GROUP BY?这些可能需要某种。发生排序时,所有工作都会在看到LIMIT之前完成。