列上不存在 Etx 索引或优化器选择非索引扫描。
etx_contains() 运算符正在用于没有 etx 索引的列上。请确保已在该列上创建 etx 索引。
该错误也可能发生在有 etx 索引的情况下,但是查询优化器在计算 etx_contains() 运算符时没有选择使用该索引。SQL 命令 SET EXPLAIN ON 可以提供有关要执行查询的查询优化器所用策略的更多信息。 GBase 8s 建议您尝试重写查询以强制优化器使用索引。
SELECT id FROM recipes WHERE id = 1 OR etx_contains (ingredients, 'eggs');
SELECT id FROM recipes WHERE etx_contains (ingredients, 'eggs') INTO TEMP t1; SELECT id FROM recipes WHERE id = 1 OR id IN (SELECT id FROM t1);
请参阅优化查询,以获取相关讨论。