我需要编写SELECT选择行语句,其中一些字段中任何单词的前缀都与给定模式相匹配。我正在使用它sqlite,但这是一个常见的问题。3 s h$ r+ }: L. l( y, ^* Q
我提出了两个想法:# w0 K" r- m* V7 T4 z6 Y6 Y' D' h
SELECT (...) FROM table WHERE field LIKE 'phrase%' OR field LIKE '% phrase%'或者 s r6 ^% {/ w7 L0 P1 I Y( \SELECT (...) FROM table WHERE ' ' || field LIKE '% phrase%'两者都不那么优雅,当我一次使用更多的时候... OR ... LIKE ...,SELECT会降低查询性能: j% \' V( ^% \5 Y4 N i
有没有办法更好地解决这个问题? ( {) J7 O5 T% b9 z* s g 9 P: F9 ]3 k* _, [: R9 {解决方案: 0 b5 p8 s6 g! l$ ? 一种选择是使用全文模块。http://www.sqlite.org/fts3.html7 Q0 [3 l: G2 [& s+ m" P
SELECT * FROM table WHERE field MATCH 'phrase*