$sql = "SELECT min(id) FROM matchTrip where userTripId = :tripId AND
matchStrength = (SELECT MIN(matchStrength) FROM matchTrip where userTripId = :tripId) ";
是否可以减少此查询以提高性能并缩短执行此查询的时间?
任何帮助都将不胜感激。
最佳答案
您正在寻找id
的最小值以获得matchStrength
的最小值。因此,您可以:
SELECT
id
FROM
matchTrip
WHERE
userTripId = :tripId
ORDER BY
matchStrength,
id
LIMIT 1
在任何情况下,您都需要通过
matchStrength
建立索引(我认为您已经为id
字段建立了索引)。至于表现-你必须要做的措施,没有任何其他方法可以确保一件事比另一件更好的表现。关于mysql - 如何减少此查询(SQL)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18636264/