FTS5: Why is a search for "abc1.1" much slower than a search for "abc1"?

50 Views Asked by At

I'm comparing 2 SQLite searches (with FTS5):

SELECT * from my_fts5 WHERE (col1 MATCH 42) AND (my_fts5 MATCH '("abc1.1"*)')
SELECT * from my_fts5 WHERE (col1 MATCH 42) AND (my_fts5 MATCH '("abc1"*)')

The first one takes literally 1000x longer than the second. I've repeated this a few times, so it's not a cache issue.

My wild guess is that SQLite performs a search for abc1 and then another for 1 (which takes so long).

Is there any way to make this faster? I already tried putting both matches into the same query in the hope that the (faster) first one would be executed first, but that didn't help.

0

There are 0 best solutions below