mysql - 对大数据进行排序的最佳数据存储是什么

标签 mysql sorting nosql

我有数百万(30-1 亿)条包含多列的记录。我需要在多列上对这些数据进行排序并在页面中显示它们。存储这些数据的最佳方式是什么?

假设有一个包含列 T(id, c1,c2 ... cn) 的表。在 MYSQL 中,这个查询看起来像这样:

通过cx、cy限制1000、1000从T订单中选择id

我可以假设它是一个只读表,但我需要快速响应。

NoSQL 数据库有什么优势可以解决这个问题吗?

最佳答案

如果您的表已正确建立索引,即使有数百万条记录,速度也会相当快。当您开始添加条件时,例如 WHERE some_date < now() 表分区可能也会有所帮助,但您必须提前计划以使分区适合您的需求,否则可能会减慢速度。

NoSQL 的优点是速度和灵活的模式,但对于数百万条记录,它需要大量的内存,而且在某些情况下,比如 Redis,它在写入磁盘等时需要有 50% 的内存可用于 fork 。您现在得到的回复还不够快吗?您的查询是否命中了正确的索引?

关于mysql - 对大数据进行排序的最佳数据存储是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12752694/

相关文章:

c# - 按多个字段对集合进行排序

arrays - 我哪里越界了?

javascript - 在 JavaScript 中对 JSON 进行排序

java - 单节点 Cassandra 集群有什么限制?

Mysql一次插入插入多行

mysql - 完全覆盖 Rails ActiveRecord 中的集合

Mysql 数据库大小增长超过 4 TB? Azure 最多支持 4 个

firebase - 允许用户只访问他们自己在 Firebase 数据库中的数据?

nosql - Riak:如果目标被删除,链接会消失吗?

java - 检查 MySQL 的更新并显示通知替代方案