sql优化建议
SELECT count(*) FROM fsrs_cards WHERE fsrs_cards.deleted_at IS NULL and exist (select 1 from vocab_words where vocab_id 1001 and obj_id word_id and deleted_at is null) AND (user_id 1983799923358830592) AND (要分析这条SQL查询我需要先指出语法错误然后解释查询意图最后给出优化建议。语法错误exist应该是EXISTS关键字拼写错误正确写法sqlSELECT count(*) FROM fsrs_cards WHERE fsrs_cards.deleted_at IS NULL AND EXISTS ( SELECT 1 FROM vocab_words WHERE vocab_id 1001 AND obj_id word_id AND deleted_at IS NULL ) AND (user_id 1983799923358830592) AND (ctype words) AND (word_history_type 10)查询意图统计满足以下条件的fsrs_cards记录数量未被删除deleted_at IS NULL用户ID为特定值卡片类型为words单词历史类型为10存在对应的vocab_words记录vocab_id 1001且obj_id匹配word_id且未被删除潜在问题1. 子查询与主查询缺乏关联子查询中的word_id来自vocab_words表但它与主查询的fsrs_cards表没有任何关联条件。这意味着如果vocab_words表中至少存在一条满足条件的记录子查询就返回 true所有符合条件的fsrs_cards都会被计数如果不存在则计数为 0这可能是逻辑错误你可能想要的是关联子查询sql-- 如果 fsrs_cards 有 word_id 字段 SELECT count(*) FROM fsrs_cards WHERE fsrs_cards.deleted_at IS NULL AND EXISTS ( SELECT 1 FROM vocab_words WHERE vocab_id 1001 AND obj_id fsrs_cards.word_id -- 关联到主表 AND deleted_at IS NULL ) AND (user_id 1983799923358830592) AND (ctype words) AND (word_history_type 10)2. 索引建议为了优化性能建议创建以下索引sql-- fsrs_cards 表 CREATE INDEX idx_fsrs_cards_user_ctype_history ON fsrs_cards(user_id, ctype, word_history_type, deleted_at); -- vocab_words 表如果还没有 CREATE INDEX idx_vocab_words_vocab_obj ON vocab_words(vocab_id, obj_id, deleted_at);3. 如果确实是存在性检查而非关联如果你的意图确实是不需要关联只要vocab_words中有一条vocab_id1001的记录就计数所有卡那查询逻辑没问题但可以改用更高效的写法sqlSELECT count(*) FROM fsrs_cards WHERE fsrs_cards.deleted_at IS NULL AND (user_id 1983799923358830592) AND (ctype words) AND (word_history_type 10) AND EXISTS ( SELECT 1 FROM vocab_words WHERE vocab_id 1001 AND deleted_at IS NULL LIMIT 1 -- 找到一条就停 );总结问题说明语法错误exist→EXISTS逻辑问题子查询未关联主表可能不是你想要的结果性能优化需要合适的索引特别是user_idctypeword_history_type请确认你的业务逻辑是否需要关联fsrs_cards.word_id如果需要请按修正后的关联子查询写法调整。ctype words ) AND (word_history_type 10)

相关新闻

RAGFlow、LightRAG 还是 GraphRAG?9 个维度帮你一次选对

RAGFlow、LightRAG 还是 GraphRAG?9 个维度帮你一次选对

从文档解析、关系推理到全局归纳,三套方案选型不靠参数对比,靠看清自己的核心约束 你的场景决定选哪个,没有银弹。 一、为什么需要它们:传统 RAG 的三道坎 问一句「过去半年设计评审中团队的主要分歧是什么」,传统 RA…

2026/7/30 20:59:33 阅读更多 →
三步掌握开源资源嗅探器:从零开始解锁全网音视频自由

三步掌握开源资源嗅探器:从零开始解锁全网音视频自由

三步掌握开源资源嗅探器:从零开始解锁全网音视频自由 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 你是否曾为无…

2026/7/30 20:58:33 阅读更多 →
Button 按钮组件深度解析与交互状态管理全攻略

Button 按钮组件深度解析与交互状态管理全攻略

文章目录每日一句正能量摘要一、引言:为什么 Button 值得深度研究二、Button 基础类型与创建方式2.1 三种基础类型2.2 两种创建方式三、属性链式调用与样式体系3.1 核心样式属性3.2 渐变背景与高级视觉效果3.3 字体样式精细化控制(API 10)四、…

2026/7/30 20:58:33 阅读更多 →

最新新闻

tbz文件怎么打开?TBZ文件是什么格式,用Win解压缩轻松处理

tbz文件怎么打开?TBZ文件是什么格式,用Win解压缩轻松处理

在日常下载资源时,偶尔会遇到后缀为 .tbz 的文件。很多人第一反应是它和 .zip 类似,但尝试用常规解压工具打开却会失败。TBZ 其实是一种来自类 Unix 系统的归档压缩格式,多数情况下是 TAR 归档经过 BZIP2 压缩后的短后缀写法。它常见于 Linux…

2026/7/30 21:11:36 阅读更多 →
BZ2文件怎么打开?详解bzip2压缩格式及Windows解压方法

BZ2文件怎么打开?详解bzip2压缩格式及Windows解压方法

很多人下载Linux源码包或旧备份文件时,会遇到后缀为.bz2的文件,双击后Windows却提示无法打开。BZ2是bzip2压缩格式的产物,在Linux生态中非常常见,但在Windows上需要借助合适的工具才能提取内容。它和ZIP、RAR这类“容器式”压缩格…

2026/7/30 21:11:36 阅读更多 →
终极指南:如何让Android投屏工具scrcpy性能提升300%

终极指南:如何让Android投屏工具scrcpy性能提升300%

终极指南:如何让Android投屏工具scrcpy性能提升300% 【免费下载链接】scrcpy Display and control your Android device 项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy 你是不是也遇到过这样的场景?用scrcpy连接手机进行开发调试&…

2026/7/30 21:11:36 阅读更多 →
Twitter Web Exporter终极指南:无需API密钥的Twitter数据批量导出解决方案

Twitter Web Exporter终极指南:无需API密钥的Twitter数据批量导出解决方案

Twitter Web Exporter终极指南:无需API密钥的Twitter数据批量导出解决方案 【免费下载链接】twitter-web-exporter Export tweets, bookmarks, lists and much more from Twitter(X) web app. (推文/书签/收藏/列表导出工具) 项目地址: https://gitcode.com/gh_mi…

2026/7/30 21:11:36 阅读更多 →
三分钟解锁Steam创意工坊:跨平台模组下载终极指南

三分钟解锁Steam创意工坊:跨平台模组下载终极指南

三分钟解锁Steam创意工坊:跨平台模组下载终极指南 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 还在为GOG、Epic等平台的游戏无法使用Steam创意工坊的丰富模组而烦…

2026/7/30 21:11:36 阅读更多 →
物联网安全防护体系构建与实战案例分析

物联网安全防护体系构建与实战案例分析

1. 物联网安全现状与挑战物联网设备数量正以惊人的速度增长,预计到2025年全球联网设备将超过750亿台。但安全防护水平却远远跟不上这种扩张速度。我在过去三年处理过的物联网安全事件中,90%以上都源于基础防护措施的缺失。常见攻击手段包括:默…

2026/7/30 21:10:36 阅读更多 →

日新闻

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 您是否曾因Windows系统盘空间不足而烦恼?是否遇到过设…

2026/7/30 0:00:13 阅读更多 →
如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 你是否曾经在浏览…

2026/7/30 0:00:13 阅读更多 →
“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

更多请点击: https://intelliparadigm.com 第一章:AI 教师备课辅助 AI 教师备课辅助系统正逐步成为教育数字化转型的核心支撑工具,它并非替代教师,而是通过语义理解、知识图谱与多模态生成能力,将教师从重复性劳动中解…

2026/7/30 0:00:13 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/29 22:18:20 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/29 15:00:03 阅读更多 →

月新闻