我尽量让我的应用尽可能快速和反应。我想知道什么是更好的,使用简单的String对象或使用SQLiteQueryBuilder。
答案 0 :(得分:0)
我不是100%确定"简单的String对象" 是什么意思,但一般来说,你可以非常肯定任何内存操作{ {1}}将比数据库操作快得多。
然而,这并不是SQLite是一个糟糕的数据库(关于性能)的指标,而是一个强大的系统将其数据持久保存到文件系统的结果,它提供ACID事务并支持SQL92标准(仅限于提一些功能)。如果您不需要这些功能,并且想要获得最佳性能,请将所有内容存储在"简单字符串对象" 中。
如果要利用上面的某些数据库功能,可以考虑将SQLite用作内存数据库。有关详细信息,请参阅SQLiteOpenHelper()
。
答案 1 :(得分:-1)
尽可能快SQL需要索引数据库。实际的查询方式对执行速度影响不大。 IE你按字段2选择顺序你应该在field2上有一个索引。
QueryBuilder还消除了常见的编码错误。传入selectionArgs时,为您完成分隔符更正。
在SQLite的内容提供程序中查询构建器查询生成器参数匹配内容提供程序参数。
//使用来自内容提供商Uri的查询构建器的id进行简单选择。
queryBuilder.appendWhere(KEY_ID + "="
+ uri.getLastPathSegment());