android - SQLite FTS3 不一致的性能

标签 android sqlite fts3

一个大约有 10 万行的表。

SELECT word FROM entries WHERE word MATCH '"chicken *"';
17 results in 46ms
SELECT word FROM entries WHERE word MATCH '"chicken f*"';
2 results in 5793ms

为什么下降这么大?

最佳答案

“chicken *”中的通配符可以有效地忽略,因为它完全匹配任何标记。搜索是反向索引中的简单查找。

“chicken f*”中的通配符需要找到单词以 f 开头且还包含单词 chicken 的所有条目。可以理解,它更复杂、更慢。

关于android - SQLite FTS3 不一致的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2734776/

相关文章:

java - 如何制作按钮监听器组方法?

Android:无损WEBP压缩

ruby-on-rails - add_foreign_key不创建外键

android sqlite fts 不区分大小写

php - LInux:如何在 PHP 中安装 FTS3(用于 sqlite3)?

sqlite - SQLite常规表和fts表

android - Fabric插件1.26.0不兼容

android - IMediaReader 和 IMediaWriter 是否在 android 中工作?

objective-c - FMDatabaseQueue 中的外键

python - 有什么比 SELECT DISTINCT item FROM DB 更快的吗?