zoukankan      html  css  js  c++  java
  • 安卓数据库08_29

    安卓数据库08_29

    有哪些?四种

    1. SharedPrefeerance
    2. 文件储存
    3. SQLIte
    4. 网络储存

    什么时候用?

    数据量大,小, 开关状态, 持久性,电话薄,严格控制访问控制;

    怎么用?

    创建:db

    数据库升级:onUpgrade;

    数据库降级:LauncherProvider;

    大小:

    数据量:

    DB储存在SD:

    ContentProvider

    是什么: 为了储存,获取数据,提供的统一结构,实现应用程序间数据的共享;

    app:contentResolver——————binder--》ContentProvider-------URI---》四种数据库

    URI与UriMatcher对比

    UriMatcher:Scheme+authority+path

    1. Scheme:http.file,git,ftp
    2. UriMatcher():通过分隔符截取,落得List;
    3. *表示text的占位符
    4. 表示使用数字的占位符

    ContentProvider批量处理
    1. 事务处理:

    Android中SQL语言基础

    与SQL差别

    1. SQLite不支持Drop column;
    2. 通过先复制,然后修改表名称来修改;

    封装API的方式:

    db.insert(String table, String NullColumnHach,ContentValues values);
    
    db.update(String table, String NullColumnHach,ContentValues values);
    
    db.delete (String table, String NullColumnHach,ContentValues values);
    
    db.query (String table, String NullColumnHach,ContentValues values);
    
    显式执行SQL语句:
    
    db.rawQuery(String sql, String [] selectionArgs);
    
    db.executeSQL(String sql );
    
    db.executeSQL(String sql ,Object[] bindArgs);
    
    #查询:
    Select * form 表名称
    Where 条件子句
    Group by 分组字句
    Having 
    Order by 排序子句
    
    #插入
    Insert into 表名称
    Set 字段名=值
    Where 条件子句
    
    #更新
    Update 表名
    Set 字段名=值
    Where 条件子句
    
    #删除
    Delete form 表名
    Where 条件子句
    

    数据库的优化思路

    1. Log分析:确认是否是数据库的问题
    2. 流程优化:确认数据库优化的方向

    log分析:

    1. 界面白屏
    2. 耗时操作:
      1. 减少操作次数
      2. 进行缓存, 内存换时间
      3. 牺牲次要功能性能

    优化思路:

    1. 事物批量:批量进行插入删除,更新
    2. 索引:堆排序搜索走索引
    3. 假处理:假删除和假保存
    4. 减少耗时操作:避免cursor遍历时做耗时操作

    插入:可以借鉴123

    查询借鉴24

    更新借鉴1

    删除借鉴13

    均适用的包含:

    快速收敛

    1. 慎用Select *
    2. Where 进行匹配
    3. Join操作,数量小的放前面, Join table1 Join table2;

    减少查询

    ​ 分部加载,减少查询范围;

  • 相关阅读:
    音乐分类/生成杂记
    音视频编码笔记
    《The challenge of realistic music generation: modelling raw audio at scale》论文阅读笔记
    使用基于Caffe的MobileNet分类踩坑备忘录
    四大轻量化模型对比(转)
    WaveNet: 原始音频生成模型
    《SONG FROM PI: A MUSICALLY PLAUSIBLE NETWORK FOR POP MUSIC GENERATION》论文笔记
    上采样 及 Sub-pixel Convolution (子像素卷积)
    python之sys._getframe() 用于查看函数被什么函数调用以及被第几行调用及被调用函数所在文件
    11
  • 原文地址:https://www.cnblogs.com/liguo-wang/p/11429047.html
Copyright © 2011-2022 走看看