【发布时间】:2010-08-02 13:13:59
【问题描述】:
我通过Zentus 在Java 应用程序中使用SQLite。在这种情况下,我需要在我的数据库中保存和查询 Java long 值。来自其他 RDBMS,我创建了如下表来存储长值:
CREATE TABLE myTable (id INTEGER PRIMARY_KEY, longValue LONG)
此解决方案会产生异常行为,但在阅读 SQLite documentation on data types 后,我了解到我的 LONG 类型与使用 TEXT 具有相同的效果 => longValue 存储为文本。
然后我决定将其更改为INTEGER(它的长度是可变的,最多可以存储 64 位整数,这是 Java 的长度),以便获得更简洁的代码,并且可能是为了节省一些磁盘空间并提高性能,因为我的 longValues 被插入并查询为long。
比较所创建数据库的性能和大小后,我看不出两者之间有任何区别:
CREATE TABLE myTable (id INTEGER PRIMARY_KEY, longValue LONG)
和
CREATE TABLE myTable (id INTEGER PRIMARY_KEY, longValue INTEGER)
对这个主题有什么经验、经验或感受吗?
【问题讨论】: