Remove unneeded join onto apk which was causing performance problems.
This join resulted in one row for each apk in the result set (before doing a GROUP BY), instead of one row for each apk. That is a large difference in number of rows and resulted in much more work for sqlite. Turns out this join wasn't required.
This commit is contained in:
parent
80259d00ba
commit
620affa239
@ -217,7 +217,6 @@ public class AppProvider extends FDroidProvider {
|
|||||||
protected String getRequiredTables() {
|
protected String getRequiredTables() {
|
||||||
final String pkg = PackageTable.NAME;
|
final String pkg = PackageTable.NAME;
|
||||||
final String app = getTableName();
|
final String app = getTableName();
|
||||||
final String apk = getApkTableName();
|
|
||||||
final String repo = RepoTable.NAME;
|
final String repo = RepoTable.NAME;
|
||||||
final String cat = CategoryTable.NAME;
|
final String cat = CategoryTable.NAME;
|
||||||
final String catJoin = getCatJoinTableName();
|
final String catJoin = getCatJoinTableName();
|
||||||
@ -226,8 +225,7 @@ public class AppProvider extends FDroidProvider {
|
|||||||
" JOIN " + app + " ON (" + app + "." + Cols.PACKAGE_ID + " = " + pkg + "." + PackageTable.Cols.ROW_ID + ") " +
|
" JOIN " + app + " ON (" + app + "." + Cols.PACKAGE_ID + " = " + pkg + "." + PackageTable.Cols.ROW_ID + ") " +
|
||||||
" JOIN " + repo + " ON (" + app + "." + Cols.REPO_ID + " = " + repo + "." + RepoTable.Cols._ID + ") " +
|
" JOIN " + repo + " ON (" + app + "." + Cols.REPO_ID + " = " + repo + "." + RepoTable.Cols._ID + ") " +
|
||||||
" LEFT JOIN " + catJoin + " ON (" + app + "." + Cols.ROW_ID + " = " + catJoin + "." + CatJoinTable.Cols.APP_METADATA_ID + ") " +
|
" LEFT JOIN " + catJoin + " ON (" + app + "." + Cols.ROW_ID + " = " + catJoin + "." + CatJoinTable.Cols.APP_METADATA_ID + ") " +
|
||||||
" LEFT JOIN " + cat + " ON (" + cat + "." + CategoryTable.Cols.ROW_ID + " = " + catJoin + "." + CatJoinTable.Cols.CATEGORY_ID + ") " +
|
" LEFT JOIN " + cat + " ON (" + cat + "." + CategoryTable.Cols.ROW_ID + " = " + catJoin + "." + CatJoinTable.Cols.CATEGORY_ID + ") ";
|
||||||
" LEFT JOIN " + apk + " ON (" + apk + "." + ApkTable.Cols.APP_ID + " = " + app + "." + Cols.ROW_ID + ") ";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
x
Reference in New Issue
Block a user