मुझे 2 (स्पष्ट रूप से) चीजें मिली हैं, जिन्होंने इस क्वेरी को संतोषजनक स्तर तक गति देने में मदद की है:
-
उन पंक्तियों की संख्या को कम करें जिन्हें क्रमबद्ध करने की आवश्यकता है। पहले रिकॉर्ड की संख्या को ट्रिम करने के लिए 'आईडी' फ़ील्ड पर एक इंडेक्स और एक उप-चयन का उपयोग करके, गणना किए गए कॉलम पर फ़ाइल सॉर्ट इतना खराब नहीं है। यानी:
SELECT t.value1, (t.value2 * an_arbitrary_float) as SCORE FROM (SELECT * FROM sometable WHERE id = 1) AS t ORDER BY SCORE DESC
-
sort_buffer_size बढ़ाने का प्रयास करें my.conf में उन फाइलों को गति देने के लिए।