Я обнаружил, что использование методов запроса «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 дока. мне потребовалось меньше одной секунды, чтобы выполнить в общей сложности 1920 тиков при использовании "PropertyEquals"; однако при выборе методов запроса «PropertyGreaterThanEquals» или «PropertyLessThanEquals» мне потребовалось более 1 минуты, чтобы выполнить в общей сложности 1920 тиков. в чем основная причина этой проблемы медленного выполнения?