当前位置: 代码迷 >> 其他数据库 >> SQLITE3数据库 一个表支持多少个字段?解决方法
  详细解决方案

SQLITE3数据库 一个表支持多少个字段?解决方法

热度:531   发布时间:2013-02-26 00:00:00.0
SQLITE3数据库 一个表支持多少个字段?
RT

------解决方案--------------------------------------------------------
理论上没有限制
SQLite数据库是否有已知的大小限制?

数据库大小被限制在 2TB(241 bytes). 这是理论限制。事实上,你应该把 SQLite数据库的大小限制在100GB以下,以免出现运行性能上的问题。如果你需要储存100GB或更多数据在一个数据库中, 考虑使用为此而设计的企业版数据库吧。

一个数据库的理论行数限制是 264-1,显然你会在达到行数限制之前先超过文件大小的限制。目前一行可以存放 230 bytes 数据。而基本的文件格式可以支持行大小到约 262 bytes.

可能还会有对于表、索引的数目或表和索引中的字段数的限制,但没人知道是多少。事实上,每当新数据库打开时,SQLite需要读取和 分析所有表和索引声明的初始SQL,所以,为了调用 sqlite3_open() 时获得最佳性能,最好减少声明的表的数目。同样的,即使 对于表中字段数没有限制,多于 100个也显得太多了。 只有表开头的31个字段会得到优化。你可以在一个索引中放入任意多的字段但超过30字段的索引将不用于优化查询。
------解决方案--------------------------------------------------------
从数据库本身来说SQLITE没有限制。

96个字段不算多,但从你的解释看来,这些字段是通过同一记录的其它字段来计算生成的,如果只是简单的计算,则不建议在表中存放这些字段

比如
A, B C
1 2 3
1 4 5

C 字段永远等于 A+B则数据库设计的原则中,是消除冗余,C字段不应该设计在表中。可以通过查询来直接实现 select a,b, (a+b) as c from table1;
  相关解决方案