Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 定义表的索引_Android_Performance_Sqlite_Indexing_Sql Optimization - Fatal编程技术网

Android 定义表的索引

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 在这种情况下,定义索引以获得更好的性能的理想方法是什么? 减少查询结果中的列数也会提高性能吗?索引有助于搜索或排序。在您的查询

在我的应用程序中,从DB加载时,我面临性能问题。我有一个使用
RecylerView
的列表和一个数据光标。一旦记录数超过1000,列表将变得太慢,无法加载或执行任何操作。查询使用WHERE子句:
COL1=something AND(COL2 LIKE something或col3 LIKE something或col4 LIKE something),col5不为NULL

在这种情况下,定义索引以获得更好的性能的理想方法是什么?
减少查询结果中的列数也会提高性能吗?

索引有助于搜索或排序。在您的查询中,
col1
应该被索引,如果可以过滤掉许多具有空值的行,那么任何
col5
。 (查询只能对每个表使用一个索引,因此需要两列索引。)

索引对慢速列表视图没有帮助,因为它不会减少列表从数据库加载的数据量


要加快列表速度,必须减少条目数。有关如何延迟加载条目的信息,请参阅,但最佳解决方案是添加更好的过滤器,这样您就不需要加载这么多条目。(用户应该如何处理它们呢?

RecyclerView.adapter我有一个扩展RecyclerView的自定义适配器。adapter是指任何特定方法或整个适配器?让我们来看看。