2013-05-15 32 views
1

我對sql(ite)比較陌生,在學習新的項目時我正在學習。 我們已經在一個「數據」表中獲得了數百萬個交易行,其中一個字段是「sessionid」字段。通過sessionid字段拆分大型sqlite表

因爲我現在想專注於會話活動,所以我主要只需要查看來自同一會話的事務。

我現在的直覺是,如果我將數據庫按會話分成許多單個會話表,那麼總是會比查詢單個會話ID更快,然後繼續。我的問題是:對嗎?這會有所作爲嗎?

即使不是:你能幫我一下,告訴我,我怎樣才能將一個「數據」表中的行拆分成許多會話特定的表,這些行保持不變?再加上一張關聯sessionIds到表格的表格?

謝謝!


一位朋友剛剛告訴我,分裂,到桌的事情將是極其不易伸縮的,我應該嘗試加入不同的指標,而不是爲不同的sessionId行訪問單個會話更快。任何想法和如何做到最好?

回答

0

首先,到目前爲止,您是否有任何特定的性能瓶頸?如果是,請描述它。

每個會話有一個表可能會加速查找/索引(對於INSERT s)。

SQLite不會限制表的數量,所以你應該沒問題。

另一個解決方案提供更簡單的維護,如果您每天/每週創建一個表格。

根據您的會話持續多久,這可能是可行的或不可行。

相關:https://stackoverflow.com/a/811862/89771