Sqlite   发布时间:2022-05-22  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了【玩转SQLite系列】(五)SQLite数据库优化大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
  • 【玩转sqlite系列】文章目录
    • 【玩转sqlite系列】(一)初识sqlite,重拾sql语
    • 【玩转sqlite系列】(二)sqlite创建和打开数据库的三种方式
    • 【玩转sqlite系列】(三)通过sql语句操作sqlite数据库
    • 【玩转sqlite系列】(四)通过Android提供的API操作sqlite数据库
    • 【玩转sqlite系列】(五)sqlite数据库优化
    • 【玩转sqlite系列】(六)sqlite数据库应用案例实现历史搜索记录
    • 【玩转sqlite系列】(七)sqlite数据库轻量级ORM操作数据库工具类

【玩转sqlite系列】(五)sqlite数据库优化

1.先创建一个数据库和创建一张表

/** * 1.创建或打开数据库连接 **/
    private voID openDataBase() {
        file dataBasefile = new file(Environment.getExternalStorageDirectory() + "/sqlite",Contacts.DATABASE_name3);
        if (!dataBasefile.getParentfile().exists()) {
            dataBasefile.mkdirs();
        }
        sqliteDatabase = sqliteDatabase.openorCreateDatabase(dataBasefile,null);
    }

    /**** * 2.创建表 */
    private voID createtable() {
        String sql = "create table " +
                "IF NOT EXISTS " +
                "user(" +
                "ID INTEGER PRIMARY KEY autoINCREMENT," +
                "name varchar," +
                "age integer)";
        sqliteDatabase.execsql(sql);
    }

2.一般的插入数据,批量插入100条数据

/** * 一般的插入数据,批量插入100条数据 * * @param v */
    public voID general(VIEw v) {
        long startTime = System.currentTimeMillis();
        String table = "user";
        for (int i = 0; i < 100; i++) {
            ContentValues contentValues = new ContentValues();
            contentValues.put("name","张三" + i);
            contentValues.put("age",i);
            sqliteDatabase.insert(table,null,contentValues);
        }
        long endTime = System.currentTimeMillis();
        String message = "总共耗时" + (endTime - startTimE);
        Toast.makeText(this,message,Toast.LENGTH_SHORT).show();
        Log.d(Contacts.TAG,messagE);
    }

3.优化后,批量插入100条数据

  • 如何进行优化?

  • 优化后的代码

/** * 优化后,批量插入100条数据 * * @param v */
    public voID optimize(VIEw v) {
        long startTime = System.currentTimeMillis();
        String table = "user";
        /**开启一个事务**/
        sqliteDatabase.begintransaction();
        try {
            for (int i = 0; i < 100; i++) {
                ContentValues contentValues = new ContentValues();
                contentValues.put("name","张三" + i);
                contentValues.put("age",i);
                sqliteDatabase.insertOrThrow(table,contentValues);
            }
            /**将数据库事务设置为成功**/
            sqliteDatabase.settransactionsuccessful();
        } catch (Exception E) {
            e.printstacktrace();
        } finally {
            /**结束数据库事务**/
            sqliteDatabase.endtransaction();
        }
        long endTime = System.currentTimeMillis();
        String message = "总共耗时" + (endTime - startTimE);
        Toast.makeText(this,messagE);
    }
  • 查看耗时

大佬总结

以上是大佬教程为你收集整理的【玩转SQLite系列】(五)SQLite数据库优化全部内容,希望文章能够帮你解决【玩转SQLite系列】(五)SQLite数据库优化所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: