首先,我的遊戲是在Unity3D中使用一個sqlite數據庫。搜索數據表與搜索List <>
其次,我的數據庫是用來存儲數千隨機恆星系統和其附帶的數據(行星,恆星,位置等等等等)
我想要的球員能夠做的就是在鍵入系統「地址」(例如,如果有5個星系統在礦井DB;
Sys001
Sys0012
Sys0013
Sys004
Sys050
和用戶搜索001
,那麼搜索結果將返回;
Sys001, Sys0012, Sys0013
忽略Sys004和Sys050。
這會立即發生/接近即刻(非常快),所以如果用戶添加另一個字符(IE搜索0013
),那麼結果將立即實時更新。
我的問題是....要實現這一點,哪個會更好用?我應該堅持只使用我的數據庫(IE使用SQL函數來獲取這些數據),還是更快/更好/更容易/更理想的將所有數據庫數據導入到列表中,然後搜索列表(即List [i])。 nameVariable.Contains(「001」)等)
不,讓數據庫執行搜索。它針對這些任務進行了優化,並具有適當的數據結構。當然,你應該幫助數據庫併爲相應字段指定一個索引。 –
我也這麼想。我會想象它也更安全? 你是指什麼索引?如在主鍵? 編輯:另外,稍微偏離主題 - 是否更好地關閉數據庫連接,一旦我完成它,然後重新打開時,它再次需要 - 或者它是一個想法,保持連接打開,如果它肯定會在不久的將來再次使用? – NeoKuro