排序插入数据库的最佳选择

时间:2015-09-03 13:30:30

标签: mysql database sorting redis nosql

我需要一个可以非常快速地执行排序插入的数据库。

一次存储的数据量将非常少。我想以非常高的速率插入和删除,我必须对我的数据执行的唯一查询是sort。但是我想要一个O(1)来查询。是否有任何这样的NoSQL数据库可以在插入过程中对数据进行排序?

1 个答案:

答案 0 :(得分:2)

Redis支持排序集(请参阅http://redis.io/topics/data-types)。使用此解决方案,您将有以下操作时间的复杂性:

  • ZADD(相当于插入) - 添加的每个项目的O(log(N)),其中N是有序集合中的元素数量
  • ZREM(删除的等价) - O(M * log(N)),其中N是有序集合中元素的数量,M是要删除的元素数量
  • ZSCAN(相当于选择) - 每次通话都是O(1)。 O(N)进行完整的迭代,包括足够的命令调用,使光标返回0. N是集合中元素的数量。