[英]How can I speed up this SELECT query?
我有一個包含user_id,time,inHour和outHour這樣的表
我想與user_id分組並使用相關字段獲取最大時間。 在下面的圖片中,您可以看到我想要的結果。
我的查詢效果很好。 但我想提高速度,因為它對大數據的運行速度很慢。 這是我的查詢:
SELECT
foo.user_id,
foo.time,
foo.inHour,
foo.outHour
FROM
(
SELECT
MAX(time) AS time,
user_id
FROM
foo
GROUP BY user_id
) AS t1
INNER JOIN foo ON (t1.user_id = foo.user_id AND t1.time = foo.time);
我需要大大減少查詢時間。 任何幫助是極大的贊賞。
GroupWise的-MAX?
您將需要一個復合索引。 您現有的查詢將受益於
INDEX(user, time) -- in this order!
我的博客提供了更快的技術: http : //mysql.rjweb.org/doc.php/groupwise_max
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.