mysql - ORDER BY RAND() alternative -
संभव डुप्लिकेट:
मेरे पास वर्तमान में एक क्वेरी है जो समाप्त हो जाती है ORDER BY RAND (HOUR (NOW ())) LIMIT 40
40 रैंडम परिणाम प्राप्त करने के लिए परिणाम की सूची में हर घंटे बदलता है
यह क्वेरी कैश को मारता है, जो प्रदर्शन हानिकारक है।
क्या आप यादृच्छिक (इश) परिणामों का सेट करने का एक वैकल्पिक तरीका सुझा सकते हैं जो परिवर्तन समय समय पर? यह हर घंटे होना जरूरी नहीं है और इसे पूरी तरह यादृच्छिक होना नहीं है।
मैं तालिका में किसी मनमानी क्षेत्र को छाँटने के बजाय एक यादृच्छिक परिणाम पसंद करता हूं, लेकिन मैं ऐसा आखिरी उपाय के रूप में करूँगा ...
(यह नए उत्पादों की एक सूची है जिसे मैं अब हर बिट के आसपास घूमना चाहता हूं)।
मुझे लगता है कि अपने मध्य स्तर पर उत्पाद आइडेंटिफ़ार्स डाउनलोड करना है, जब आप की आवश्यकता होती है तो यादृच्छिक 40 मान चुनें (प्रति घंटा एक बार या हर अनुरोध के लिए) ) और उन्हें क्वेरी में उपयोग करें: product_id in (@ id_1, @ id_2, ..., @ id_40)
।
Comments
Post a Comment