You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现支持逻辑运算的高性能SQL标签搜索查询

目前找到的最相近的参考问题为《如何在SQL中实现布尔标签搜索》,但该问题仍然无法匹配实际需求。

我已知的唯一可行方案是通过后端代码生成对应查询语句传入SQL执行,但该方案性能较低,想了解是否存在其他实现方式,比如使用单条主查询替代多段查询拼接。

也有部分方案使用IN语法实现,对应参考内容为《如何在SQL中基于多个标签查询数据》。

我无法使用常规的GROUP BY HAVING COUNT方案,这类方案无法适配带操作数的标签查询场景。

需要说明的是,绝大多数现有方案都不满足我的需求,我需要实现支持括号分组、嵌套操作数的复杂标签查询,使用的数据库Schema为"Toxi"。

我当前使用的查询示例如下:

SELECT id AS post_id
FROM posts
WHERE EXISTS (SELECT name FROM tags WHERE post IS post_id AND name IS 'random')
AND NOT (
    EXISTS (SELECT name FROM tags WHERE post IS post_id AND name IS 'query') AND
    EXISTS (SELECT name FROM tags WHERE post IS post_id AND name IS '1')
)
AND EXISTS (SELECT name FROM tags WHERE post IS post_id AND name IS '2') 
AND EXISTS (SELECT name FROM tags WHERE post IS post_id AND name IS '3')
AND EXISTS (SELECT name FROM tags WHERE post IS post_id AND name IS 'racecar')

内容的提问来源于stack exchange,提问作者James Davis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 23:24:03