आप (objectID, time) . से अधिक एक समग्र अनुक्रमणिका चाहते हैं :
ALTER TABLE my_table ADD INDEX (objectID, time)
इसका कारण यह है कि MySQL तब अधिकतम time को पुनः प्राप्त कर सकता है प्रत्येक objectID . के लिए सीधे इंडेक्स ट्री से; इसके बाद यह समूहवार अधिकतम
आपकी दूसरी क्वेरी जैसी किसी चीज़ का उपयोग करके रिकॉर्ड (लेकिन किसी को objectID . दोनों में शामिल होना चाहिए और time —मुझे NATURAL JOIN का उपयोग करना पसंद है इस तरह के मामलों में):
SELECT *
FROM my_table NATURAL JOIN (
SELECT objectID, MAX(time) time
FROM my_table
WHERE time <= 1353143351
GROUP BY objectID
) t