Velocidad de operación de búsqueda en una base de datos Realm
Este es el modelo para miRealmObject
clase :
public class ARDatabase extends RealmObject
{
@PrimaryKey
private String uid;
private String namex;
private String desc;
private boolean isVideo;
private boolean isDeleted;
private String urlImg;
private String urlApp;
private int updates;
private boolean isDownloaded;
private String location;
public ARDatabase(){}
public String getUid()
{
return uid;
}
public void setUid(String uid)
{
this.uid = uid;
}
public String getNamex()
{
return namex;
}
public void setNamex(String namex)
{
this.namex = namex;
}
public String getDesc()
{
return desc;
}
public void setDesc(String desc)
{
this.desc = desc;
}
public boolean getIsVideo()
{
return isVideo;
}
public void setIsVideo(boolean isVideo)
{
this.isVideo = isVideo;
}
public boolean getIsDeleted()
{
return isDeleted;
}
public void setIsDeleted(boolean isDeleted)
{
this.isDeleted = isDeleted;
}
public String getUrlImg()
{
return urlImg;
}
public void setUrlImg(String urlImg)
{
this.urlImg = urlImg;
}
public String getUrlApp()
{
return urlApp;
}
public void setUrlApp(String urlApp)
{
this.urlApp = urlApp;
}
public int getUpdates()
{
return updates;
}
public void setUpdates(int updates)
{
this.updates = updates;
}
public boolean getIsDownloaded()
{
return isDownloaded;
}
public void setIsDownloaded(boolean isDownloaded)
{
this.isDownloaded = isDownloaded;
}
public String getLocation()
{
return location;
}
public void setLocation(String location)
{
this.location = location;
}
}
Y así es como busco eluid
desde mi reino predeterminado:
final ARDatabase db = mRealm.where(ARDatabase.class).equalTo("uid",imageTitles.get(result)).findFirst();
Ahora elpregunta es: Considerando que tengo 10-100 objetos dentro de mi reino, ¿qué tan rápido sería la búsqueda?
El caso de uso es para una aplicación de reconocimiento de imágenes. Cuando la aplicación reconoce una imagen, devuelve eluid
y basado en eluid
Necesito proporcionar una superposición en la pantalla con la información asociada con eluid
Lo antes posible.
Ahora, ya que tengo alrededor de 10-100 objetos, sería una búsqueda linealO(n)
o una búsqueda binaria genéricaO(log n)
sería más rápido que elRealm
búsqueda que he usado arriba? ¿O es posible ajustarRealm
para obtener resultados más rápidos? (en caso de que no esté funcionando de la manera más rápida ahora).