使用像「東西%%」我不知道這是不是真的,但我被告知,FMDatabase執行更好,如果你這樣做在FMDatabase爲iOS
NSString *query = [NSString stringWithFormat:@"SELECT * FROM db where col=?"];
FMResultSet *rs = [theDatabase executeQuery:query, columnToLookFor];
vs
NSString *query = [NSString stringWithFormat:@"SELECT * FROM db where col='columnToLookFor'"];
FMResultSet *rs = [theDataBase executeQuery:query];
因此,我們有一個搜索查詢,這是否:
NSString *query = [NSString stringWithFormat:@"SELECT Symbol, Category FROM Symbols where Category like \"%%%@%%\" or Symbol like \"%%%@%%\" group by Symbol, Category order by Category", searchtext, searchtext];
FMResultSet *rs = [theDatabase executeQuery:query];
我想這個更改爲:?然而,在第二形式與
NSString *query = [NSString stringWithFormat:@"SELECT Symbol, Category FROM Symbols where Category like \"%%?%%\" or Symbol like \"%%?%%\" group by Symbol, Category order by Category"];
FMResultSet *rs = [theDatabase executeQuery:query, searchtext, searchtext];
,我FMResultSet是0,我ñ確信我在這種情況下做錯了什麼。這會加速我們的搜索嗎?或者更糟糕的是,這個功能需要花費很長時間才能實現。
感謝setTraceExecution。這有助於看到發生了什麼。在'%%?%%'的情況下,對FMDatabase的查詢就是:'%?%'。我似乎沒有註冊我的搜索文本。是因爲我需要空白嗎? – Crystal 2012-03-09 21:41:31
啊,我明白你在做什麼,自從我使用FMDB以來已經有一段時間了。如果您更改第二行,會發生什麼情況,因爲我的編輯如上所示? – 2012-03-11 12:58:51