我正在通过Zentus在Java应用程序中使用SQLite。在这种情况下,我需要在数据库中保存和查询Java 值。来自其他RDBMS,我创建了如下表来存储长值:long
CREATE TABLE myTable (id INTEGER PRIMARY_KEY, longValue LONG)
该解决方案会产生例外的行为,但是在阅读了有关数据类型的SQLite文档之后,我了解到我的LONG
类型与使用TEXT
=> longValue
作为文本存储具有相同的作用。
然后,我决定将其更改为INTEGER
(长度是可变的,并且最多可以存储64位整数,即Java long的长度),以便获得更简洁的代码,并可能节省一些磁盘空间并提高性能,因为我的longValues是插入并查询为long
。
比较性能和创建的数据库的大小之后,我看不到以下任何区别:
CREATE TABLE myTable (id INTEGER PRIMARY_KEY, longValue LONG)
和
CREATE TABLE myTable (id INTEGER PRIMARY_KEY, longValue INTEGER)
对这个主题有任何评论,经验或感觉吗?
在SQLite中,数据类型是按值而不是按列的。因此,当您插入整数时,无论列类型如何,它们都将存储为整数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句