2012-02-27 36 views
0

我正在創建iOS和Android應用程序。該應用程序將跟蹤每個平臺上的相同數據,但在iOS上我將使用Core Data,並且在Android上我將使用MySQLite進行持久性存儲。哪個持久性存儲設置更高效

這個應用程序將允許多達5人玩10輪遊戲,其中用戶將輸入約8個不同類別的數據。 (對於一個給定的用戶,每一輪將包括8個不同的東西存儲數據。)我試圖確定哪個是更好的數據存儲和應用程序性能的方法。

2個選項,我可以看到的(對於iOS的人,是的,我知道,我們不是在談論表和列核心數據,所以替代品具有實體的那些話和屬性):

選項1 :

One table that has 10 columns representing each round, and the value of each column is a concatenation of the 8 different categories, separated by an asterisk. 

Example: <Player 1> Column 1 = a*b*c*d*e*f*g*h , Column2 = i*j*k*l*m*n*o*p , etc... 

選項2:

Eight tables that represent the 8 categories. Each table has 10 columns to represent the 10 rounds of play. 
Example: <Player 1 - Table 1> Column 1 = a , Column 2 = b , Column 3 = c , etc... 
     <Player 1 - Table 2> Column 1 = a , Column 2 = b , etc... 

有關選項1,I在存儲它之前必須建立字符串,然後在稍後訪問字符串時解構該字符串。這顯然不難,只需要更多的處理時間。對於選項2,我將在具有有限存儲能力的設備(不管我選擇哪條路由,我已經有其他數據表)的情況下擁有更多的底層存儲。信息將更容易訪問。

由於存儲需求較低,我傾向於選項1。任何想法都不勝感激。我提到過我是如何在不同的平臺上設置我的應用程序以防萬一發生變化。

回答

1

有關與下面的列玩家操作的表什麼(我假設的類別是固定的):

  • 玩家ID
  • 回合
  • 1類
  • 類別2
  • 。 ..
  • 類別N

這種方式以後應該會更容易查詢數據。

請注意,如果您使用Core Data for iOS,則可能會考慮針對Android的greenDAO

+0

謝謝,我會調查一下! – Michael 2012-03-16 17:57:14