搜索数据表与搜索列表<>

时间:2016-08-19 23:44:45

标签: c# database sqlite unity3d datastore

首先,我的游戏是在Unity3D中使用sqlite数据库进行的。

其次,我的数据库用于存储数千个随机星系及其伴随数据(行星,恒星,位置等)

我希望玩家能够做的是输入一个系统"地址" (例如,如果DB中有5个星系;

Sys001
Sys0012
Sys0013
Sys004
Sys050

并且用户搜索001,然后搜索结果将返回;

Sys001, Sys0012, Sys0013

忽略Sys004和Sys050。

这将立即/接近即时(极快)发生,因此如果用户随后添加另一个字符(IE搜索0013),则结果将立即实时更新。

我的问题是......要实现这一点,哪个更好用?我应该坚持只使用我的数据库(IE使用SQL函数获取此数据),还是更快/更好/更容易/更理想将所有数据库数据导入列表,然后搜索列表(即List [i]。 nameVariable.Contains(" 001")etc)

1 个答案:

答案 0 :(得分:1)

如果它被大量访问并经常使用,那么是的,你可以将它加载到集合的内存中并使用它。如果没有,请在地址上创建索引并在列上搜索。同样,如果经常访问数据库,则在游戏开始时打开连接,重用该连接并在结束时关闭。如果没有,请在需要访问它的速率实例中打开并关闭后使用 - 这只会帮助释放资源。