मैं अपने mysql प्रश्नों को अनुकूलित करने का प्रयास कर रहा हूं ताकि 'फाइलों का उपयोग करके अस्थायी रूप से उपयोग' से बच सकें। मुझे कुछ मदद इस्तेमाल करनी थी। प्रथम; यहाँफाइल्सोर्ट का उपयोग mysql में एक बुरा विचार का उपयोग कर अस्थायी का उपयोग कर?
समझाने यहाँ क्वेरी
select pf.*,m.login,m.avatar
from profile_friends pf, members m
where pf.friend_id = m.id and pf.member_id = 16586
order by m.lastLogin desc
limit 0,24;
mysql> EXPLAIN select pf.*,m.login,m.avatar from profile_friends pf, members m where pf.friend_id = m.id and pf.member_id = 16586 order by m.lastLogin desc limit 0,24;
+----+-------------+-------+--------+-----------------------------------------------------+-----------------+---------+--------------------------+------+----------------------------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------+--------+-----------------------------------------------------+-----------------+---------+--------------------------+------+----------------------------------------------+
| 1 | SIMPLE | pf | ref | member_id_index,friend_id_index | member_id_index | 4 | const | 160 | Using where; Using temporary; Using filesort |
| 1 | SIMPLE | m | eq_ref | PRIMARY,member_id_privacy_index,id_last_login_index | PRIMARY | 4 | mydb.pf.friend_id | 1 | Using where |
है 2 टेबल शामिल हैं। प्रोफाइल फ्रेंड (पीएफ), और सदस्य (एम)। यह क्वेरी सिर्फ इस विशेष सदस्य आईडी के लिए 'हालिया' 24 मित्रों को खोजने का प्रयास कर रही है। हालिया साधन LastLogin दिनांक द्वारा क्रमबद्ध करें।
धन्यवाद
+1 हां, 160 पंक्तियों के लिए MySQL डिस्क पर लिखने के बिना, टेम्पलेट तालिका को स्मृति में भी रख सकता है। "फाइलोर्ट" थोड़ा भ्रामक है, इसका मतलब यह है कि यह इंडेक्स के लाभ के बिना सॉर्टिंग कर रहा है। –