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

问题描述 投票:0回答:1

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

问题是,查询需要10到15分钟。如果我们切换到“大数据” - 数据库,这个问题会解决吗?

MongoDB是一个很好的数据系统吗?

每天在该表中有大约300,000个新行。除此之外,不会有更新/删除。只需选择。

有人已经体验过这个话题吗? MariaDB真的会更快吗?

提前致谢。

mysql mongodb mariadb
1个回答
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 BYGROUP BY?那些可能需要一种排序。当排序发生时,所有工作都在看到LIMIT之前完成。

© www.soinside.com 2019 - 2024. All rights reserved.