我有一个 mysql 查询类型
select some_value FROM table WHERE (subquery) IN ( values )
这似乎非常慢!
我有一个带有订单的 mysql 表和第二个带有相应处理状态的表。我现在想显示所有具有最后状态代码 = 1 的订单。
表顺序(id = 主键)
id | value
---+-------
1 + 10
2 + 12
3 + 14
表状态(id = 主键)
id | orderid | code
---+---------+-------
1 + 1 + 1
2 + 2 + 1
3 + 2 + 2
4 + 1 + 3
5 + 3 + 1
我的查询是:
select order.id FROM order WHERE
( select state.code FROM state WHERE state.orderid = order.id ORDER BY state.id DESC LIMIT 0,1 ) IN ( '1' )
处理一个订单大约需要 15 秒。如何修改 mysql 语句以加快查询处理时间?