select max(buy) from price where marketId=309;
प्रत्येक कॉलम पर अलग-अलग इंडेक्स बनाना शायद MySQL को क्वेरी को ऑप्टिमाइज़ करने की अनुमति नहीं देता है।
इस क्वेरी के लिए, आप एक यौगिक अनुक्रमणिका want चाहते हैं (marketId, buy)
. पर .
create index idx_price_market_buy ON price (marketId, buy);
अनुक्रमणिका में स्तंभों का क्रम मायने रखता है:सबसे पहले क्वेरी marketId
. पर फ़िल्टर करती है (इसलिए आप चाहते हैं कि यह कॉलम कंपाउंड इंडेक्स में पहले स्थान पर हो), फिर यह अधिकतम buy
. की गणना करता है ।