Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL:सीमित क्वेरी परिणाम शफ़ल करें?

आप rand() . का उपयोग कर सकते हैं , लेकिन प्रदर्शन भयानक है

select * from users order by rand() limit 5; <-- slow

मैं सुझाव दूंगा, सभी उपयोगकर्ता आईडी की सूची को क्रमबद्ध सरणी में संग्रहीत करें और डिस्क-फ़ाइल में कैश करें। (समय-समय पर अपडेट)

तो, आप PHP का उपयोग करके इसे वापस अन-क्रमबद्ध कर सकते हैं, और PHP का उपयोग कर सकते हैं array_rand 5 यादृच्छिक उपयोगकर्ताओं को चुनने के लिए।

पूरी जानकारी प्राप्त करने के लिए, आप कर सकते हैं

select * from users where user_id in(...); <-- very fast


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में निर्दिष्ट स्थान पर सूची आइटम कैसे खोजें

  2. SET NAMES का उपयोग करना है या नहीं

  3. MySQL:उप चयन के साथ अपेक्षित रूप से काम नहीं कर रहा है?

  4. स्प्रिंग डेटा जेपीए केवल एक समग्र कुंजी ऑटो वृद्धि हुई समस्या है

  5. यह क्वेरी इंडेक्स के बजाय कहां का उपयोग कर रही है?