- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
您好,我想知道在 Android 上哪种方法更快。
我有一个处理数千行的循环,我认为 SQLiteDatabase.insert()
方法会影响性能。
在插入方法中,我放置了一个带有 contentvalues
的参数,我认为在后台该方法必须有一个过程来检查每个 contentvalue
并构建查询。
在 execSQL
方法中,我将整个查询作为参数,我认为该方法不必执行那么多操作。
我不知道我是否正确,我认为 execSQL
比插入大量数据要好,但我不确定...
最佳答案
好吧,我试过了,它们之间有一点不同……execSQL 更快,但很难注意到。
但是,我真正的问题是我没有使用交易。由于 sqlite 没有服务器来控制对数据的访问,sqlite 必须为您执行的每个插入关闭并重新打开 phisycal 文件。所以如果你在一个循环中有一千个插入并且它没有事务,它将执行一千个事务。在我的测试中,一千次插入在不使用事务的情况下持续了 11 秒,而在使用事务的情况下仅持续了 1 秒。
关于java - SQLiteDatabase.Insert() 或 SQLiteDatabase.execSQL() 在 Android 上哪个更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10644996/
我正在尝试在 Android SQLite 数据库中创建一个表。但是 execSQLite 方法在 on create 方法中不起作用。它给了我信息- Non-static method 'execS
我编写了一个调度程序应用程序,当用户使用以下命令从互联网更新日程安排时,它会将日程安排数据添加到数据库中: sqLiteDatabase.execSQL("INSERT OR IGNORE INTO
我的 execSQL() 命令出现错误。 Eclipse 说我需要在我的 DBHelper 类中定义它。我该怎么做呢?我不熟悉使用 SQL 数据库及其命令。 这是我的类(class)代码; packa
我有以下 execSQL 抛出语法错误并导致我的应用程序崩溃。考虑到我已经转义了单引号和双引号,我不知道为什么。 代码如下: database.execSQL("insert into " + TAB
好吧,也许我只是不明白这一点,但是,当我尝试删除多个表时,比如 static final String DROP_TABLES = "DROP TABLE IF EXISTS ?,?,?,?"; 并尝
您好,我有这个函数可以使用 TUniQuery 更新我的 Access DB: var Res:Boolean; begin Res:=false; try with MyQuery do
已关闭。这个问题是 not reproducible or was caused by typos 。目前不接受答案。 这个问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-top
我正在尝试获取从 EditText 字段存储的一些值并将它们存储到我的 SQLLite 数据库中。 我有以下字符串变量: 网站名称_地址_用户_pass 这是我尝试使用的 Sql 命令: SQLite
我正在尝试使用 rawQuery 和 execSQL 方法来操作我的数据库,而不是 .update、.insert 等。我正在尝试使用以下代码执行更新: db.execSQL("UPDATE conf
我正在为Android 3.2版本编写应用程序,然后要求升级的ASUS Eee Pad TF01,这将Android版本更改为4.0.3。从那时起我就遇到了应用程序的问题,我将其追踪到 SQLite
为什么这不起作用?? db.execSQL("INSERT INTO PARTIES (PARTY_NAME, PARTY_COUNT) SELECT DISTINCT(PARTY), COUNT(P
我正在尝试制作使用SQLite数据库的简单注册/登录应用程序,到目前为止我得到了这段代码。这是我的“注册” Activity ,我猜它应该在按下注册按钮后将用户名和 pin(密码)实现到数据库,遗憾的
我在这里看到了很多类似的问题,但没有一个能解决我的问题。我正在制作一个将 XML 内容放入数据库的应用程序。一切工作正常,但是当我第二次打开应用程序时,会添加越来越多的值。我试图删除表,删除数据库,甚
我有这行代码: String insertSQL = "INSERT INTO " + BOOK_NAME + " (id, title, date, type, excerpt, c
这个问题在这里已经有了答案: Unfortunately MyApp has stopped. How can I solve this? (23 个回答) 关闭 7 年前。 这是我的 onCrea
我想有一个选项来调用“rawQuery”并传入一个整数列表,但看起来我不能:所有“rawQuery”方法都需要字符串数组... 为什么?我可以为每个传递的 int 对象调用“toString”,但我在
我按照标准教程使用 Android 构建数据库。我创建了一个名为 DbHelper 的类,它扩展了 SQLiteOpenHelper。我已经重写了创建处理程序来执行一个字符串。 @Override p
系统/版本信息: Windows Server 2019 数据中心 Ubuntu 16.04 Python 2.7 pip 20.1 我正在尝试使用以下命令安装最新版本的 execsql (1.72)
在 Delphi 中,每当我使用 TQuery 对数据库执行 SELECT 时,我都会在 Query.Open 后面加上 try..finally,并在finally 部分中使用 Query.Clos
我们如何获得受 FDQuery.ExecSQL 影响的计数对 SQLITE 数据库的 table1 执行 INSERT、UPDATE 或 DELETE 命令后 FireDAC 命令? FDQuery.
我是一名优秀的程序员,十分优秀!