在Trae中编写数据库优化提示词须严格保留SQL原结构、真实表名字段名、执行计划数值(如rows=128473、Using filesort)、数据规模(如user表820万行)及上下文(如MyBatis调用链、死锁日志),禁用模糊表述。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在Trae中编写数据库优化类问题的提示词时,必须保留原始SQL语句结构、表名、字段名、数据量特征和执行现象等真实表达,避免抽象化或泛化描述导致模型误解真实瓶颈场景。
明确标注实际对象与数值
第一步:把真实表名、字段名原样写进提示词,不替换为“某表”“某字段”。【表名带下划线或大小写混合时必须完全一致,例如 user_profile_v2 和 order_items_2024 不可简化为 table1】
第二步:写出实际执行计划中的关键数字——扫描行数(rows=128473)、key_len=18、Extra里出现的“Using filesort”或“Using temporary”必须逐字保留。
第三步:注明真实数据规模,如“user表当前有820万行,其中status字段非空占比97%,但索引未覆盖该查询条件”。
禁用模糊修饰词
删掉所有“大概”“可能”“似乎”“一般情况下”这类弱判断表述。这一步操作起来很简单,直接搜索替换即可。
把“查询有点慢”改为“EXPLAIN显示type=ALL,执行耗时3.2秒,平均CPU占用率89%”。
保留上下文依赖关系
方法一:用注释方式嵌入业务约束。例如在SQL前加一行/* 用户登录态校验需同时查auth_token和last_active_time,二者位于同一张session表 */。
方法二:附上真实调用链片段。比如“该SQL由Java服务通过MyBatis的selectList()方法触发,参数map包含{tenant_id: 'cn-shenzhen-01', limit: 50}”。
方法三:写出真实失败表现。例如“MySQL报错ERROR 1205 (40001): Deadlock found when trying to get lock;连续3次重试均失败,死锁日志显示事务A持有idx_user_id,等待idx_status,事务B反之”。


















