Sorting with PHP vs MongoDB


Sorting with PHP vs MongoDB

假设我新计算了一百万(1,000,000)个值。

我想要这100万个值中最高的10个值。

我犹豫是否选择排序在PHP或使用MongoDB(索引)排序。

我知道少使用DB可能会提高整体性能。

但我不知道哪一个会更快,在这种情况下,如果MongoDB是令人难以置信的快,所以即使使用MongoDB只是排序比使用PHP排序快。

如果php是更快更好的排序方法,应该选择哪种排序算法?

给我一些建议。

MongoDB有一个非常好的索引功能集,另一方面,在PHP中,您可以使用不同的函数,如排序(它使用快速排序的实现,顺便说一句)等。

我不会只关注速度,除非你的并发性是最小的,考虑如果你是排序的结果集在PHP中每次你想要显示它,你正在监听X个请求,那么内存占用将是大约X * array size + extra overhead,直到请求/运行完成。

MongoDB允许你在创建索引时选择索引排序,所以这可能是一个好主意,因为数据将被添加到b树中以正确的顺序进行索引(而另一方面,出于同样的原因,它将减慢插入速度)

所以,底线是,如果集合较小,我可能会选择PHP排序,但在这种情况下(通常这类问题结束),我建议您进行基准测试并根据实际数据决定。