下午好,
我正在考虑如何保留sqlite表1或超过1的帖子,
举一个例子,一个聊天,最好将它全部保存在同一个表中(如果可以的话)或更好的不同?
(示例1表)
http://cmanios.wordpress.com/2013/10/29/read-sms-directly-from-sqlite-database-in-android/
android sqlite表的限制:(相关主题)
Maximum SQLite Database Size in Android Application
SQLite database limits in Android
我的意思是我可以在一个表中包含更多消息。 从我的角度来看,作为程序员,我想创建多个表。
示例1和x表:
表:(用户1 +用户2 +用户3 ...用户x)
+-----------------------------------------------------------------------------------------------------------------+
| date | date_sent | person | body |
|------------------------------------------------------------------------------------------------------------------
| 2013-10-20 13:48:18 | 2013-10-20 13:48:16 | User1 | Hello Christos! How are you? |
| 2013-10-20 16:34:03 | 1970-01-01 02:00:00 | User2 | Fine, thanks ! I configure the left MFD of a F-16 jet |
| 2013-10-20 16:40:02 | 2013-10-20 16:40:01 | User3 | Awesome! I am throwing a party tomorrow at 21:45! |
| 2013-10-20 17:15:15 | 1970-01-01 02:00:00 | Userx | Thanks! I will be there! |
+-----------------------------------------------------------------------------------------------------------------+
- (2个或更多表格)轻松选择所有表格
+-----------------------------------------------------------------------------------------------------------------+
| date | date_sent | person | body |
|------------------------------------------------------------------------------------------------------------------
| 2013-10-20 13:48:18 | 2013-10-20 13:48:16 | User1 | Hello Christos! How are you? |
| 2013-10-20 16:34:03 | 1970-01-01 02:00:00 | User2 | Fine, thanks ! I configure the left MFD of a F-16 jet |
| 2013-10-20 16:40:02 | 2013-10-20 16:40:01 | User1 | Awesome! I am throwing a party tomorrow at 21:45! |
| 2013-10-20 17:15:15 | 1970-01-01 02:00:00 | User2 | Thanks! I will be there! |
+-----------------------------------------------------------------------------------------------------------------+
+-----------------------------------------------------------------------------------------------------------------+
| date | date_sent | person | body |
|------------------------------------------------------------------------------------------------------------------
| 2013-10-20 13:48:18 | 2013-10-20 13:48:16 | User1 | Hello Christos! How are you? |
| 2013-10-20 16:34:03 | 1970-01-01 02:00:00 | User3 | Fine, thanks ! I configure the left MFD of a F-16 jet |
| 2013-10-20 16:40:02 | 2013-10-20 16:40:01 | User1 | Awesome! I am throwing a party tomorrow at 21:45! |
| 2013-10-20 17:15:15 | 1970-01-01 02:00:00 | User3 | Thanks! I will be there! |
+-----------------------------------------------------------------------------------------------------------------+
。 。 。
我认为合适,创建多个表,我们不会有存储问题,所有这些都在一个表中。
有人可以告诉我哪种方式最好?或者如果我错了概念
答案 0 :(得分:0)
您在sqlite中为大小限制提供的链接都表明这不应该是一个问题。
如果你真的认为你会到达:
http://www.sqlite.org/limits.html
表中的理论最大行数为264 (18446744073709551616或约1.8e + 19)。此限制无法访问 因为最大数据库大小将达到140太字节 第一。一个140TB的数据库可以容纳不超过约 1e + 13行,然后仅当没有索引和每行时 包含的数据非常少。
在Android设备上...好吧我想也许你需要重新考虑一下这个话题。
下一个问题:
您是否应该动态创建/删除表格?这是一个非常糟糕的主意 - 它容易引起奇怪的问题。我不是说你不能这样做,但这不是做这种事情的正常方式。
个人 - 一个数据库。如果你真的觉得你需要分解它,那么粗略的做法可能就像:
MyDatabase:
tables: fields
user UserUuid,name,
message UserUuid,MessageId,MessageText,to, from, timestamp
attachments MessageId,AttacmentId,AttachmentContent
这将允许您创建新用户并将它们链接到消息和附件,同时保持组织比在一个表中更好地组织,并且可以避免您动态创建/销毁表。您可以找到一个更适合您特定需求的组织结构图,但这应该可以帮助您。