SQL 查询最新的一条记录

  • 添加核心联合索引(最关键!)
sql 复制代码
-- 联合索引:APPLY_ID(筛选) + trading_time(排序),覆盖查询条件
CREATE INDEX idx_trading_record_apply_time ON SHOP_RECORD(APPLY_ID, trading_time DESC);
  • 只需要 "最新的一条记录",可直接用 FETCH FIRST 1 ROW ONLY(Oracle)或 LIMIT 1(MySQL),逻辑更简洁:
sql 复制代码
-- Oracle 写法
SELECT str.*  -- 建议替换为具体字段
FROM SHOP_RECORD str
WHERE str.APPLY_ID = #{applyId}
ORDER BY str.trading_time DESC
FETCH FIRST 1 ROW ONLY;

-- MySQL 写法
SELECT str.*  -- 建议替换为具体字段
FROM SHOP_RECORD str
WHERE str.APPLY_ID = #{applyId}
ORDER BY str.trading_time DESC
LIMIT 1;
  • 注意:必须配合上述联合索引使用,否则性能依然差。
相关推荐
XDHCOM15 小时前
ORA-32484重复列名错误,ORACLE数据库CYCLE子句故障修复与远程处理方案
数据库·oracle
翻斗包菜15 小时前
PostgreSQL 日常维护完全指南:从基础操作到高级运维
运维·数据库·postgresql
呆瑜nuage15 小时前
MySQL表约束详解:8大核心约束实战指南
数据库·mysql
liliangcsdn16 小时前
Agent Memory智能体记忆系统的示例分析
数据库·人工智能·全文检索
那个失眠的夜16 小时前
Mybatis延迟加载策略
xml·java·数据库·maven·mybatis
Rick199316 小时前
SQL 执行流程
数据库·sql
M--Y16 小时前
Redis常用数据类型
数据结构·数据库·redis
猿小喵16 小时前
MySQL慢查询分析与处理-第二篇
数据库·mysql·性能优化
Y0011123617 小时前
MySQL-进阶
开发语言·数据库·sql·mysql
徒 花17 小时前
数据库知识复习01
数据库