我们在iPhone应用程序上使用sqlite。在搜索框中,我们要查询数据库并返回与用户输入内容相关联的任何值。目前,我们正在搜索几个不同的列,如
Gene
Disease
Medicine
Keywords
当搜索文本发生变化时,我们开始使用强制方法调用此方法(带有一些伪代码):
// Basically we do this for our 4 columns we are searching on
NSString *query2 = [NSString stringWithFormat:@"select * from MedicineList where MedicineList.Keywords like \"%%%@%%\"",searchtext];
FMResultSet * rs2 = [ _patientAnnotatedDatabase executeQuery:query2];
while ([rs2 next])
{
// if you find anything, put it in a dictionary
}
[rs2 close];
这是搜索列并返回结果字典的一种重要方法。它适用于我们的数据集很小的情况。当然,我们的数据集更大,但并不是那么高效。除了在我们正在搜索的列上创建索引之外,还有其他可以执行的性能操作吗?提前谢谢。