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;
  • 注意:必须配合上述联合索引使用,否则性能依然差。
相关推荐
坚定信念,勇往无前16 分钟前
mongodb的日志分割
数据库·mongodb
oradh4 小时前
Oracle TX 锁 Mode 4(Share)问题排查总结
数据库·oracle·tx 锁 mode 4·oracle tx 锁
2601_962065254 小时前
[MySQL] SQL优化之性能分析
java·sql·mysql
yi.Ist4 小时前
数据定义语言-DDL操作
数据库·学习·mysql·oracle·大海豚
2601_963282776 小时前
工程项目、政企采购为什么优先选择对讲机批量采购?
数据库
Doraemomo6 小时前
SQLite数据库
数据库·sqlite
云贝教育-郑老师6 小时前
MySQL 的“黑匣子“:Performance Schema 把数据库内部变成一张可查的表
数据库·mysql
这个DBA有点耶8 小时前
同城双活落地的三座山:网络延迟、脑裂预防、反向同步
数据库·架构·dba
青春之我_XP8 小时前
MySQL 常用日期函数 实战指南
数据库·sql·mysql·数据分析·数据库开发·日期函数