Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 使用LIKE“QUOTE;”%%提高搜索性能&引用;关于多列_Iphone_Sqlite_Search - Fatal编程技术网

Iphone 使用LIKE“QUOTE;”%%提高搜索性能&引用;关于多列

Iphone 使用LIKE“QUOTE;”%%提高搜索性能&引用;关于多列,iphone,sqlite,search,Iphone,Sqlite,Search,我们正在iPhone应用程序上使用sqlite。在搜索框中,我们希望查询数据库并返回与用户键入内容相关联的任何值。目前,我们正在搜索几个不同的专栏,如 Gene Disease Medicine Keywords 我们从蛮力方法开始,在搜索文本更改时调用此方法(使用一些伪代码): // Basically we do this for our 4 columns we are searching on NSString *query2 = [NSString stringWithFor

我们正在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];

这是一个在列上搜索并返回结果字典的大方法。当我们的数据集很小时,它就起作用了。当然,我们的数据集更大了,性能也没那么好。除了在我们正在搜索的列上创建索引外,我们还可以做其他性能方面的事情吗?提前感谢。

类似的
模式类似的
%word%
无法使用正常索引进行优化

搜索单词是SQLite扩展的设计目的