1

我发现使用查询方法“PropertyGreaterThanEquals”或“PropertyLessThanEquals”比使用“PropertyEquals”方法运行得慢得多。下面是一个关于查询适合卡车卸货的码头的简单示例。

    public void match_dock() {

//      Query<Object> pre_fit = new PropertyGreaterThanEquals(context,  "unload_speed", 240);
//      Query<Object> pre_fit = new PropertyLessThanEquals(context,  "unload_speed", 240);
        Query<Object> pre_fit = new PropertyEquals(context,  "unload_speed", 240);

        for (Object o : pre_fit.query()) {
            if (o instanceof Dock) {
            System.out.println("this dock's id is: " + ((Dock)o).getId());
            }
        }
}

只有3个码头。如果使用“PropertyEquals”,我只用了不到一秒的时间运行了 1920 个滴答;但是,如果选择查询方法“PropertyGreaterThanEquals”或“PropertyLessThanEquals”,我总共花了 1 分钟多的时间来运行 1920 个刻度。这个执行缓慢问题的根本原因是什么?

4

0 回答 0