社区
其他数据库
帖子详情
SQLITE3数据库 一个表支持多少个字段?
haosuai
2009-11-19 09:30:37
RT
...全文
1493
10
打赏
收藏
SQLITE3数据库 一个表支持多少个字段?
RT
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ACMAIN_CHM
2009-11-19
打赏
举报
回复
如果 只是 X*100/255 这种简单计算,则不建议保留这些计算字段。用查询就行了。
select x, X*100/255 from tttt
WWWWA
2009-11-19
打赏
举报
回复
一般而言,可以通过计算得到,就没有必要生成物理字段,运行时生成就可以了,
当然你可以根据你的具体情况来决定,比如测试一下在SELECT 中生成计算字段
haosuai
2009-11-19
打赏
举报
回复
其实我说的计算不是字段的加法,与或,而是这个字段的某些BIT位通过一些公式计算出一个值,这个值就是我说的一项数据。
比如:这个字段存放0X830Xf10X100X410X040X200Xe9
我取其中的第五位,通过公式X*100/255 得到的值就是我说的一项
ACMAIN_CHM
2009-11-19
打赏
举报
回复
从数据库本身来说SQLITE没有限制。
96个字段不算多,但从你的解释看来,这些字段是通过同一记录的其它字段来计算生成的,如果只是简单的计算,则不建议在表中存放这些字段
比如
A, B C
1 2 3
1 4 5
C 字段永远等于 A+B则数据库设计的原则中,是消除冗余,C字段不应该设计在表中。可以通过查询来直接实现 select a,b, (a+b) as c from table1;
WWWWA
2009-11-19
打赏
举报
回复
字段多了,对速度是有很大的影响,根据你上述情况,方案2可行
haosuai
2009-11-19
打赏
举报
回复
我现在的问题是现在的表里面有一个字段需要经过一定的计算(协议解析),会得到96项数据。现在又2个方案1,通过一次计算,把这96项数据一次存入数据库,要用这些数据的时候,直接取数据库数据;2,数据库存这样一个字段,每次要用的时候都计算(协议解析,计算量不大,一般是2-3次加法,与或)。
刚刚也查了下SQLITE的官方网站,确实没有看见有限制字段的个数。
但是96个字段的表建出来不知道有没有意义(查询很慢),或者要存入96个字段的话,把这96字段分成多表。
但是表的数据量也不大,分4-5个表,我觉得还不如用方法2每次计算下。
不知道各位大侠的看法?
有没有真的使用过100个字段表的兄弟,现身下使用的情况?到底是不是很慢?
WWWWA
2009-11-19
打赏
举报
回复
理论上没有限制
SQLite数据库是否有已知的大小限制?
数据库大小被限制在 2TB(241 bytes). 这是理论限制。事实上,你应该把 SQLite数据库的大小限制在100GB以下,以免出现运行性能上的问题。如果你需要储存100GB或更多数据在一个数据库中, 考虑使用为此而设计的企业版数据库吧。
一个数据库的理论行数限制是 264-1,显然你会在达到行数限制之前先超过文件大小的限制。目前一行可以存放 230 bytes 数据。而基本的文件格式可以支持行大小到约 262 bytes.
可能还会有对于表、索引的数目或表和索引中的字段数的限制,但没人知道是多少。事实上,每当新数据库打开时,SQLite需要读取和 分析所有表和索引声明的初始SQL,所以,为了调用 sqlite3_open() 时获得最佳性能,最好减少声明的表的数目。同样的,即使 对于表中字段数没有限制,多于 100个也显得太多了。 只有表开头的31个字段会得到优化。你可以在一个索引中放入任意多的字段但超过30字段的索引将不用于优化查询。
ACMAIN_CHM
2009-11-19
打赏
举报
回复
[Quote]比如0x830xf10x100x410x040x200xe9.....(后面还有数据)
得到第一项Y:X-> 5 TH, Y = X*100/255
得到第二项Y: X-> 2 TH If X=0xff, y = -% else Y = X*199.2 /255 –100
........
得到第96项Y[/Quote]
看不懂你的算法。 很简单,你能否直接在select ... 中利用表达式完成?如果能,则不要这些字段,直接用SELECT实现,这样即使你的 6进制的字符 有改动,你也不需要去更新后面的 96个字段。 如果不能,则你可以加上这96个字段。
haosuai
2009-11-19
打赏
举报
回复
可能我说的这个例子有点歧义,我这个字段放的是一串16进制的字符,每一字节或者这一字节的某些BIT位经过一定的计算,得到一项,总共可以得到96项。
比如0x830xf10x100x410x040x200xe9.....(后面还有数据)
得到第一项Y:X-> 5 TH, Y = X*100/255
得到第二项Y: X-> 2 TH If X=0xff, y = -% else Y = X*199.2 /255 –100
........
得到第96项Y
haosuai
2009-11-19
打赏
举报
回复
发大幅度
2014年辛星Python
数据库
Sqlite
3教程
辛星在2014年使用python操纵
sqlite
3
数据库
的教程。
IOS
sqlite
数据库
操作
http://blog.csdn.net/totogo2010/article/details/7702207 IOS
sqlite
数据库
操作 iphone 例子
Android
SQLite
数据库
操作Demo
这是
一个
简单的
sqlite
数据库
操作,包含增删改查
android之利用
SQLite
实现登陆和注册
android之利用
SQLite
数据库
实现登陆和注册,使用
SQLite
OpenHelper抽象类建立
数据库
,建立
数据库
类DatabaseHelper,写业务类实现查询和插入
【python】
SQLite
3的简单使用(创建
数据库
、数据
表
、增删改查、修改
字段
)
sqlite
是一款轻型的SQL类型
数据库
,处理速度快且占用资源非常低,所以非常适合存储本地数据,据说处理速度比Mysql、PostgreSQL还快。如果想要修改
表
结构,可以新建
一个
表
,复制好数据之后再删掉原
表
,最后重命名为原
表
,不能先重命名原
表
再重建同名
表
,不然会影响外键和索引的。注意,
sqlite
支持
重命名
表
名和
字段
名,也
支持
增加和删除
字段
,但是不
支持
修改
字段
,官方文档里有提到。python3就已经内置了
sqlite
,所以我们不用额外安装,直接导入即可。Python代码如下。
其他数据库
2,209
社区成员
9,519
社区内容
发帖
与我相关
我的任务
其他数据库
其他数据库开发 其他数据库
复制链接
扫一扫
分享
社区描述
其他数据库开发 其他数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章