Android 定义表的索引
在我的应用程序中,从DB加载时,我面临性能问题。我有一个使用Android 定义表的索引,android,performance,sqlite,indexing,sql-optimization,Android,Performance,Sqlite,Indexing,Sql Optimization,在我的应用程序中,从DB加载时,我面临性能问题。我有一个使用RecylerView的列表和一个数据光标。一旦记录数超过1000,列表将变得太慢,无法加载或执行任何操作。查询使用WHERE子句:COL1=something AND(COL2 LIKE something或col3 LIKE something或col4 LIKE something),col5不为NULL 在这种情况下,定义索引以获得更好的性能的理想方法是什么? 减少查询结果中的列数也会提高性能吗?索引有助于搜索或排序。在您的查询
RecylerView
的列表和一个数据光标。一旦记录数超过1000,列表将变得太慢,无法加载或执行任何操作。查询使用WHERE子句:COL1=something AND(COL2 LIKE something或col3 LIKE something或col4 LIKE something),col5不为NULL
在这种情况下,定义索引以获得更好的性能的理想方法是什么?
减少查询结果中的列数也会提高性能吗?索引有助于搜索或排序。在您的查询中,
col1
应该被索引,如果可以过滤掉许多具有空值的行,那么任何col5
。
(查询只能对每个表使用一个索引,因此需要两列索引。)
索引对慢速列表视图没有帮助,因为它不会减少列表从数据库加载的数据量
要加快列表速度,必须减少条目数。有关如何延迟加载条目的信息,请参阅,但最佳解决方案是添加更好的过滤器,这样您就不需要加载这么多条目。(用户应该如何处理它们呢?RecyclerView.adapter我有一个扩展RecyclerView的自定义适配器。adapter是指任何特定方法或整个适配器?让我们来看看。