热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

H2数据库与Android上的SQLite-H2DatabasevsSQLiteonAndroid

BecauseofthelackofUnicodesupportontheembeddedSQLitedatabaseinAndroid由于Android中嵌入式SQLit

Because of the lack of Unicode support on the embedded SQLite database in Android

由于Android中嵌入式SQLite数据库缺乏Unicode支持

I am mostly interested in performance and stability of H2 Database vs Android SQLite

我最感兴趣的是H2数据库与Android SQLite的性能和稳定性

Are you guys using it? Should I be aware of any H2 database shortcomings?

你们是用它吗?我应该知道任何H2数据库的缺点吗?

2 个解决方案

#1


8  

Things are much better than I have expected. I now have an Android phone (HTC Desire, Android 2.2) and I made a first test.

事情比我预期的要好得多。我现在有一部Android手机(HTC Desire,Android 2.2),我做了第一次测试。

Opening and closing a database is relatively slow so far (opening an existing database for the second time takes 0.2 seconds, closing about 0.2 seconds), but otherwise it looks like H2 performs quite well on Android, even if the Dalvik VM is not yet as optimized as a desktop JVM. It's too early to give concrete numbers, but Android is now a supported platform.

到目前为止,打开和关闭数据库相对较慢(第二次打开现有数据库需要0.2秒,关闭大约0.2秒),但是否则看起来H2在Android上表现相当不错,即使Dalvik VM还没有优化为桌面JVM。现在提供具体数字还为时过早,但Android现在是一个受支持的平台。

#2


3  

I would be also very interested in real-world performance tests for the H2 database on Android. I think that H2 will be a lot slower than SQLite, mainly because the virtual machine on Android is still not that great. This got better with Android 2.2, but I think there is still a big difference. My guess is that H2 is currently about 10 times slower. But that's only a guess.

我也对Android上的H2数据库的真实性能测试非常感兴趣。我认为H2会比SQLite慢很多,主要是因为Android上的虚拟机仍然不是那么好。这在Android 2.2中变得更好,但我认为仍然存在很大差异。我的猜测是H2目前慢了大约10倍。但这只是猜测。

About the Unicode problem: what about converting strings to UTF-8 before storing them in SQLite?

关于Unicode问题:在将字符串存储到SQLite之前将字符串转换为UTF-8怎么样?


推荐阅读
  • Python操作MySQL(pymysql模块)详解及示例代码
    本文介绍了使用Python操作MySQL数据库的方法,详细讲解了pymysql模块的安装和连接MySQL数据库的步骤,并提供了示例代码。内容涵盖了创建表、插入数据、查询数据等操作,帮助读者快速掌握Python操作MySQL的技巧。 ... [详细]
  • 本文讨论了在使用sp_msforeachdb执行动态SQL命令时,当发生错误时如何捕获数据库名称。提供了两种解决方案,并介绍了如何正确使用'?'来显示数据库名称。 ... [详细]
  • iOS Swift中如何实现自动登录?
    本文介绍了在iOS Swift中如何实现自动登录的方法,包括使用故事板、SWRevealViewController等技术,以及解决用户注销后重新登录自动跳转到主页的问题。 ... [详细]
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
  • 本文主要复习了数据库的一些知识点,包括环境变量设置、表之间的引用关系等。同时介绍了一些常用的数据库命令及其使用方法,如创建数据库、查看已存在的数据库、切换数据库、创建表等操作。通过本文的学习,可以加深对数据库的理解和应用能力。 ... [详细]
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
  • 本文介绍了在使用Laravel和sqlsrv连接到SQL Server 2016时,如何在插入查询中使用输出子句,并返回所需的值。同时讨论了使用CreatedOn字段返回最近创建的行的解决方法以及使用Eloquent模型创建后,值正确插入数据库但没有返回uniqueidentifier字段的问题。最后给出了一个示例代码。 ... [详细]
  • 上图是InnoDB存储引擎的结构。1、缓冲池InnoDB存储引擎是基于磁盘存储的,并将其中的记录按照页的方式进行管理。因此可以看作是基于磁盘的数据库系统。在数据库系统中,由于CPU速度 ... [详细]
  • RMAN中的不完整恢复是指通过还原所有数据文件将整个数据库回退,然后执行不完全恢复的操作。不完整恢复的场景包括完整恢复不可行或故意要丢失数据。完整恢复需要备份后生成的所有归档日志和联机重做日志,而如果这些日志缺失或损坏,恢复将在该点停止。决定故意丢失数据是在用户错误发生后采取的行动,例如忘了where条件导致整个表受影响。对于已提交的事务来说,这样的更改是不可逆的。 ... [详细]
  • 本文介绍了关于Java异常的八大常见问题,包括异常管理的最佳做法、在try块中定义的变量不能用于catch或finally的原因以及为什么Double.parseDouble(null)和Integer.parseInt(null)会抛出不同的异常。同时指出这些问题是由于不同的开发人员开发所导致的,不值得过多思考。 ... [详细]
  • 颜色迁移(reinhard VS welsh)
    不要谈什么天分,运气,你需要的是一个截稿日,以及一个不交稿就能打爆你狗头的人,然后你就会被自己的才华吓到。------ ... [详细]
  • Oracle 和 mysql的9点区别【MySQL】
    数据库|mysql教程oracle,Oracle,money,mysql,coun数据库-mysql教程1.组函数用法规则mysql中组函数在select语句中可以随意使用,但在o ... [详细]
  • html结构 ... [详细]
  • 我有一个带有H2数据库的springboot应用程序。该应用程序会在启动时引导数据库,为此,我在 ... [详细]
  • 用pandas库修改excel文件里的内容,并把excel文件格式存为csv格式,再将csv格式改为html格式
    假设有Excel文件data.xlsx,其中内容为:     ID age height    sex weight张三  1  39    181 female     85李四  2  40    180   male     80王五  3  38    178 female     78赵六  4  59    1 ... [详细]
author-avatar
weiwei
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有