Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android上的H2数据库与SQLite_Android_Database_Sqlite_Embedded Database_H2 - Fatal编程技术网

Android上的H2数据库与SQLite

Android上的H2数据库与SQLite,android,database,sqlite,embedded-database,h2,Android,Database,Sqlite,Embedded Database,H2,因为 我最感兴趣的是vs Android的性能和稳定性 你们在用它吗? 我是否应该知道H2数据库的任何缺点?我还对Android上H2数据库的真实性能测试非常感兴趣。我认为H2会比SQLite慢很多,主要是因为Android上的虚拟机还没有那么好。安卓2.2的效果更好,但我认为仍然有很大的不同。我的猜测是H2目前大约慢10倍。但这只是猜测 关于Unicode问题:在将字符串存储到SQLite之前将其转换为UTF-8怎么样?事情比我预期的要好得多。我现在有一部安卓手机(HTC Desire,安卓2

因为

我最感兴趣的是vs Android的性能和稳定性

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

我还对Android上H2数据库的真实性能测试非常感兴趣。我认为H2会比SQLite慢很多,主要是因为Android上的虚拟机还没有那么好。安卓2.2的效果更好,但我认为仍然有很大的不同。我的猜测是H2目前大约慢10倍。但这只是猜测


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

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


到目前为止,打开和关闭数据库的速度相对较慢(第二次打开现有数据库需要0.2秒,关闭大约0.2秒),但除此之外,H2在Android上的性能似乎相当好,即使Dalvik VM还没有桌面JVM那么优化。现在给出具体的数字还为时过早,但Android现在是一个受支持的平台。

我的问题是,像LOWER和UPPER这样的函数只能使用ASCII字符,因为Android上的SQLite没有链接到libicu。我知道这很痛苦,但是用大写版本的数据存储额外的列怎么样?因此,您没有创建表地址(NAME VARCHAR(255)),而是创建表地址(NAME VARCHAR(255),NAME_UPPER VARCHAR(255)),您可以只使用文本列;SQLite无论如何都会忽略VARCHAR长度。对于SQLite,数据类型TEXT与VARCHAR相同,但对于其他数据库则不同(TEXT通常表示CLOB,它存储在外部,因此速度较慢-这包括H2)。SQLite和H2都支持将列定义为VARCHAR(没有长度限制),但大多数其他数据库都需要它,其中一些数据库限制为255个字符(我知道这很奇怪)。实际上SQLite不在乎它是否是VARCHAR/INT/MY_TYPE/OLOLO,它不使用类型检查,可以在同一列中存储不同的类型。取决于你放的是什么。像sql Server Hi Thomas中的sql_Vantiant一样,你能提供一个链接或教程来将H2数据库与android集成并开始使用它吗?没有分步教程,唯一的文档是我读过的,只是在那之后我正在搜索一个教程,我也发布了一个关于这个的问题,请看一看