explain
select
*
from
zipcode_distances z
inner join
venues v
on z.zipcode_to=v.zipcode
inner join
events e
on v.id=e.venue_id
where
z.zipcode_from='92108' and
z.distance <= 5
मैं ज़ीपोड 92108 के 5 मील के भीतर स्थानों पर सभी "घटनाओं को खोजने की कोशिश कर रहा हूं", हालांकि, मुझे इस क्वेरी को अनुकूलित करने में कठिनाई हो रही है।मैं इस mysql क्वेरी पर पूर्ण तालिका स्कैन से कैसे बच सकता हूं?
id, select_type, table, type, possible_keys, key, key_len, ref, rows, Extra
1, SIMPLE, e, ALL, idx_venue_id, , , , 60024,
1, SIMPLE, v, eq_ref, PRIMARY,idx_zipcode, PRIMARY, 4, comedyworld.e.venue_id, 1,
1, SIMPLE, z, ref, idx_zip_from_distance,idx_zip_to_distance,idx_zip_from_to, idx_zip_from_to, 30, const,comedyworld.v.zipcode, 1, Using where; Using index
मैं "ई" मेज पर एक पूर्ण तालिका स्कैन हो रही है, और मैं समझ नहीं क्या सूचकांक मैं इसे पाने के लिए बनाने की जरूरत:
यहाँ कैसी लगती है समझाने है तेज़ होना
किसी भी सलाह की सराहना की जाएगी
धन्यवाद
क्या आपको परिणाम सेट में सभी तालिकाओं से सभी कॉलम चाहिए? –
मैं "इन" उपखंड का उपयोग करने से बचने की कोशिश कर रहा हूं। – john
जो मैं करने की कोशिश कर रहा हूं उसका समेकित विवरण उन स्थानों को ढूंढना है जिनके ज़िपकोड्स ज़िपोड्स में रहते हैं जो मुझे 92108 के निकटता में पाया जाता है। इसलिए यह स्थल पर शामिल हो जाता है, और फिर उस स्थान से जुड़ी घटनाओं में शामिल होता है । – john