Ram*_*amy 0 mysql sql optimization
我不是积极的,但我相信子选择不是最佳的(速度?).
有没有办法从我的查询中删除此子选择(我认为查询是不言自明的).
select *
from tickers
where id = (select max(id) from tickers where annual_score is not null);
Run Code Online (Sandbox Code Playgroud)
那个特定的子选择根本不应该是低效的.它应该在主查询开始之前运行一次.
有一定的类子查询是低效的(那些参加主查询和子查询之间的列),因为他们最终运行为主查询的每一行的子查询.
但这不应该是其中之一,除非MySQL受到严重的脑损伤,我对此表示怀疑.
但是,如果你仍然渴望摆脱子查询,你可以按id(降序)排序行,只获取第一行,如:
select * from tickers
where annual_score is not null
order by id desc
limit 0, 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
60 次 |
| 最近记录: |