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

उपयोगकर्ता द्वारा की गई खोज के आधार पर खोज मानदंड रिकॉर्ड की गणना करें (MYSQL PHP)

मैंने पहले भी ऐसा करने की कोशिश की है, और यह इस बात पर निर्भर करता है कि आप कितने फ़िल्टर की अनुमति देते हैं और कितने होटलों की सूची बनाते हैं, यह बहुत धीमा हो सकता है, न कि यह उल्लेख करने के लिए कि आप डुप्लिकेट होटलों से कैसे निपटते हैं।

अंततः हालांकि आपके पास बहुत कम फ़िल्टर विकल्प होंगे

  • प्रॉपर्टी का प्रकार :इसे एक अलग तालिका में सामान्य करें
  • बेडरूम :इसे एक टिनींट या स्मॉलिंट (या तो अहस्ताक्षरित) के रूप में स्टोर करें, कल्पना नहीं कर सकते कि 255 बेडरूम से ऊपर के गुण हैं, और निश्चित रूप से 65k से ऊपर नहीं हैं
  • स्थान:इसे एक अलग तालिका में सामान्यीकृत करें, आदर्श रूप से एक ट्री प्रारूप में यह सुनिश्चित करने के लिए कि संबंध नोट किए गए हैं
  • स्टार रेटिंग :इसे एक छोटे से अहस्ताक्षरित के रूप में संग्रहीत किया जा सकता है

अब आपकी समस्या यह है कि यदि कोई 3 बेडरूम के लिए ऊपर की ओर फ़िल्टर लागू करता है, तो भी आपको 2 बेडरूम, 1 बेडरूम के लिए मान मिलना चाहिए, क्योंकि फ़िल्टर को वापस उसी में बदलने से परिणाम प्राप्त होंगे।

दिन के अंत में मैंने इसे एक बहुत बड़ी मेमोरी टेबल का उपयोग करके संबोधित किया, WHERE और JOIN स्टेटमेंट बनाने के लिए कुछ तर्क, और एक सेट ग्रुपिंग के भीतर रिकॉर्ड्स की गिनती करने वाली एक व्यक्तिगत क्वेरी। हालांकि यह उपयोगकर्ताओं के अवकाश खोज परिणामों के समान करने के लिए था, और इस तरह डेटा को पूरी तरह से क्षणिक माना जाता था। आपके उद्देश्यों के लिए एक बहुत छोटी मेमोरी टेबल स्वीकार्य होने की संभावना है, हालांकि सिद्धांत समान है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL क्वेरी व्यक्ति, मित्र जोड़ी की तालिका दिए गए पारस्परिक मित्रों की संख्या ज्ञात करने के लिए

  2. केस असंवेदनशील होने के लिए लिनक्स सर्वर में MySQL तालिका के नाम कैसे बदलें?

  3. दिए गए समय में हर 5 मिनट में डेटा का औसत

  4. पता करें कि क्या REPLACE स्टेटमेंट बदल दिया गया है या सिर्फ MySQL में डाला गया है

  5. समूह के बाद MySQL को पहला गैर शून्य मान मिलता है