都是一个commit里的,这两种写法哪个更好
需求是查一个max(id),再根据这个max(id)读出对应的数据
SELECT @x AS my_rank,item_id,item_n FROM sec2_reward,(SELECT @x:=(SELECT MAX(id) FROM sec2_reward WHERE id<=11)) r WHERE id=@x;
SELECT MAX(id) as max_id FROM sec2_reward WHERE id<=?;
SELECT item_id,item_n FROM sec2_reward WHERE id=max_id;
第一种explain的时候似乎有子查询
都是一个commit里的,不知哪种写法更好
[解决办法]
一样。效率上应该没有什么差别。
[解决办法]
第二种容易维护
[解决办法]
效率没什么差别,个人倾向第二种,可读性强