美文网首页
对查询数据库的优化

对查询数据库的优化

作者: 心随你咚 | 来源:发表于2019-04-28 12:45 被阅读0次

在做一个应用时,实现一个功能:查询Android手机上安装的所有APK,并与本应用中的数据库做对比,如果存在则从数据库中取出这个APK的更多信息。部分代码如下:

    for (String one : installedApps) {
        App app = mDataSource.getApp(one);
        if (app == null)
            continue;
        PackageInfo pi = AppUtils.getPackageInfo(one);
        if (pi != null) {
            app.versionCode = pi.versionCode;
            app.versionName = pi.versionName;
            result.add(app);
        }
    }
    return result;

installedApps 是已经获取到手机上安装应用的包名列表
mDataSource 是数据库的实例,通过包名可以查询返回一个自定义对象App
实现以后,发现在查询时,会很卡。经过打点,在查询数据库时,会有2s多的执行时间。这肯定是不能接受的。经过后来优化,改成如下代码:

    List<String> installedApps = AppUtils.getInstalledApps();
    return mDataSource.getApps(installedApps);

性能一下就好了很多,发现在调用时不再有明显卡顿。以前的方法有个缺点就是手机有N个应用时,会查询N次数据库,而第二次方法,只会查询一次数据库,性能也提高了不少。
刚开始在解决卡顿问题,并没有认为问题会出在查询数据库这里,通过对代码块打执行时的时间戳才发现问题所在。

记录下来,时刻提醒自己

相关文章

  • 数据库

    1. 常见的数据库优化手段: a. 百万级数据库优化: 对查询进行优化,要尽量避免全表扫描,考虑在where及...

  • 数据库存储原理特性索引优化

    说一下mysql数据库存储的原理? 事务的特性? 数据库索引 数据库怎么优化查询效率? 数据库优化方案 优化索引、...

  • 数据库查询优化器

      所谓查询优化,目标是关系数据库下或者 newSQL 的 SQL Server 层对 SQL 语句进行优化,在不...

  • mysql调优

    一 、查询优化、索引优化、库表结构优化 1. 查询性能优化 1.1) 优化数据访问:1、是否向数据库请求了不需要的...

  • SQL优化器原理 - 查询优化器综述

    本文主要是对数据库查询优化器的一个综述,包括: 查询优化器定义、分类 查询优化器执行过程 CBO框架Calcite...

  • MySQL查询优化(分析、索引、配置等)

    数据库的优化包括两个方面,一是SQL语句的优化,二是数据库服务器和配置的优化。下面先讲查询语句的优化。 查询语句优...

  • Java中常见面试题一(中等)

    Java中常见面试题一(中等) SQL语句优化有哪些?数据库的优化怎样优化? 对查询进行优化,应尽量避免全表扫描,...

  • 数据库索引创建与优化

    对于数据库的优化主要包括三个部分:查询优化、索引优化和字段类型优化,其中,索引优化则是数据库优化的重中之重。一个查...

  • 对查询数据库的优化

    在做一个应用时,实现一个功能:查询Android手机上安装的所有APK,并与本应用中的数据库做对比,如果存在则从数...

  • 在一个千万级的数据库查寻中,如何提高查询效率?

    在一个千万级的数据库查寻中,如何提高查询效率? 1)数据库设计方面: a. 对查询进行优化,应尽量避免全表扫描,首...

网友评论

      本文标题:对查询数据库的优化

      本文链接:https://www.haomeiwen.com/subject/vwrdnqtx.html