1. A B两个都是索引需要走树搜索,时间复杂度在log(M),由于有两个条件,其中一个条件选取完后,第二个条件进行树搜索的过程中需要,回来遍历第一个条件命中数据,时间复杂度为O(N), 让N为数据小的过滤条件,所以建立索引(B,A)。 2. 用分治+一致性hash的方法,如楼上所说,按10的模hash可分成10个文件,每个1G,每次排序任务统计频次需要最多额外1G的空间,然后排序算法最好用原地排序算法,加上我们只关心每个文件中的重复数最大值,用推排序比较合适,最后结果合并比较。