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;

    减少查询

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

  • 相关阅读:
    Android屏幕尺寸单位转换
    详细解读KMP模式匹配算法
    自定义View实现钟摆效果进度条PendulumView
    解决使用属性动画没有效果,监听发现属性值未发生改变问题
    数组----二维数组中的查找
    JS(二)
    JS(一)
    CSS(二)
    css(一)
    链表----删除链表中重复的节点
  • 原文地址:https://www.cnblogs.com/liguo-wang/p/11429047.html
Copyright © 2011-2022 走看看