Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在将应用程序从使用普通 SQLite 数据库转换为启用全文搜索的应用程序。它有几个 BLOB 列来存储数字签名之类的东西,显然不需要索引。我读到其他人通过将所有非 TEXT 数据移动到一个单独的非 FTS3 表来解决这个问题,他们在必要时与 FTS3 表进行内部连接,但这是一个非常不雅的解决方案。有没有办法简单地从索引中排除某些列?
您可以通过创建连接视图来减少麻烦,然后您可以选择该视图。您仍然可以在源自 fts 表的列上使用 MATCH,并且您不必在每次要查询时都执行该连接。
这并不优雅。SQL 是关系型的,连接是生活中很自然的一部分。认为它们“不优雅”是导致典型的糟糕数据库设计的原因。
您已经确定您有两种不同类型的数据——您经常需要搜索的文本和您不需要的 blob。将这些存储在两个不同的表中绝对没有错或不雅。