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

बुकिंग सिस्टम में मुफ्त स्लॉट ढूँढना

संभवत:आपके आवेदन के लिए ओवरकिल - लेकिन:

'राइट' प्रक्रिया को और अधिक जटिल बनाने की कीमत पर अपनी खोजों को बेहतर बनाने का एक अपेक्षाकृत सरल तरीका यह होगा कि इसे 'उपलब्धता' तालिका बनाने के लिए बुकिंग तालिका को बदल दिया जाए।

यह इंगित करने के लिए बूलियन कॉलम में जोड़ें कि क्या स्लॉट मुफ़्त है या बुक किया गया है (या बेहतर अभी भी उस ग्राहक की आईडी में डाल दिया है जिसने इसे बुक किया है, और यदि स्लॉट मुफ़्त है तो 0 का उपयोग करें)।

1 जनवरी 2009 -> 31 दिसंबर 20 ??

जब आप बुकिंग प्राप्त करते हैं तो मुफ्त स्लॉट को 3 (दो इंसर्ट और एक अपडेट), बुक किए गए स्लॉट और दो उपलब्ध स्लॉट में विभाजित करें।

ऐसा करते रहें और जैसे-जैसे समय सीमा अधिक खंडित होती जाएगी बुकिंग प्रक्रिया में निम्न में से एक शामिल होगा:

  • किसी को संपूर्ण 'उपलब्ध स्लॉट' सौंपना (एक अपडेट)
  • एक 'उपलब्ध स्लॉट' को दो (एक अपडेट और एक इंसर्ट) में विभाजित करना
  • यदि कोई उपलब्ध स्लॉट में से मध्य भाग को बुक करता है, तो स्लॉट को 3 (ऊपर के रूप में) में विभाजित करना।

यह प्रबंधन करने के लिए अविश्वसनीय रूप से जटिल नहीं है और खोज प्रक्रिया एक सरल क्वेरी बन जाती है:उपलब्ध आवश्यक समय सीमा में किसी भी स्लॉट को ढूंढना (बुक किया गया =झूठा या ग्राहक आईडी =0, जो भी आप इसके साथ जाते हैं) जहां समाप्ति तिथि - प्रारंभ तिथि> =संख्या जितने दिन आप चाहते हैं।

यह बुकिंग/उपलब्धता तालिका के आकार को दोगुना करता है, और बुकिंग को कम सरल बनाता है, लेकिन व्यापार बंद यह है कि खोज प्रक्रिया जितनी आसान हो जाती है उतनी ही आसान है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जब मामला चुनें (चुनें)

  2. डेटाबेस पैमाने को क्षैतिज रूप से रिलेशनल कर सकते हैं

  3. MySQL दिनांक स्वरूप निर्दिष्टकर्ताओं की सूची

  4. MySQL डेटाबेस को कॉपी करने का सबसे आसान तरीका?

  5. मूडल के प्रदर्शन को बेंचमार्क कैसे करें