0

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

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

select id from T order by cx, cy limit 1000, 1000

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

NoSQL 数据库对这个问题有什么好处吗?

4

1 回答 1

1

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

NoSQL 的优势是速度和灵活的模式,但是对于数百万条记录,它将需要大量内存,此外,在 Redis 等某些情况下,当它写入磁盘等时,它需要有 50% 的内存可用于分叉。是响应你现在还不够快?您的查询是否命中正确的索引?

于 2012-10-05T19:34:13.063 回答