Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में साप्ताहिक इवेंट स्टोर करने का सबसे अच्छा तरीका क्या है?

MySQL में साप्ताहिक पुनरावृत्ति वाले इवेंट स्टोर करने का डिज़ाइन पैटर्न

साप्ताहिक इवेंट (जैसे "हर शुक्रवार को मीटिंग") को स्टोर करने का सबसे सरल और कुशल तरीका प्रत्येक सप्ताह के दिन के लिए एक बूलियन कॉलम (TINYINT) रखना है।

टेबल संरचना

CREATE TABLE WeeklyEventDemo (
    ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    EventName VARCHAR(20),
    Monday TINYINT(1) DEFAULT 0,
    Tuesday TINYINT(1) DEFAULT 0,
    Wednesday TINYINT(1) DEFAULT 0,
    Thursday TINYINT(1) DEFAULT 0,
    Friday TINYINT(1) DEFAULT 0,
    Saturday TINYINT(1) DEFAULT 0,
    Sunday TINYINT(1) DEFAULT 0,
    StartDate DATE,
    EndDate DATE
);

डेटा डालना

INSERT INTO WeeklyEventDemo (EventName, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday, StartDate, EndDate)
VALUES
('Event-1', 0, 0, 0, 0, 1, 0, 0, '2018-03-21', '2019-03-08'),
('Event-2', 0, 0, 0, 0, 0, 1, 0, '2018-03-21', '2019-03-08');

किसी विशेष दिन के इवेंट क्वेरी करना

SELECT * FROM WeeklyEventDemo WHERE Friday = 1;

आउटपुट

+----+-----------+--------+---------+-----------+----------+--------+----------+--------+------------+------------+
| ID | EventName | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday | StartDate | EndDate |
+----+-----------+--------+---------+-----------+----------+--------+----------+--------+------------+------------+
| 1  | Event-1   | 0      | 0       | 0         | 0        | 1      | 0        | 0      | 2018-03-21 | 2019-03-08 |
+----+-----------+--------+---------+-----------+----------+--------+----------+--------+------------+------------+

इस डिज़ाइन के लाभ

  • सरल क्वेरी: किसी दिन के इवेंट के लिए केवल WHERE Friday = 1 लिखना पड़ता है।
  • इंडेक्सिंग: प्रत्येक दिन कॉलम पर इंडेक्स बनाकर तेज़ खोज संभव।
  • डेट रेंज: StartDate और EndDate से इवेंट की वैधता अवधि नियंत्रित होती है।
  • स्टोरेज: TINYINT(1) केवल 1 बाइट लेता है, 7 कॉलम = 7 बाइट्स प्रति रो।

वैकल्पिक दृष्टिकोण

अधिक जटिल पैटर्न (जैसे "महीने का पहला सोमवार") के लिए अलग recurrence_rules टेबल या JSON कॉलम का उपयोग करें।

  1. JavaScript में इवेंट जोड़ने का सबसे अच्छा तरीका क्या है? JavaScript में इवेंट जोड़ने का सबसे अच्छा तरीका क्या है?

    किसी भी एलिमेंट में इवेंट जोड़ने का सबसे अच्छा तरीका addEventListener() मेथड का उपयोग करना है।JavaScript में इवेंट जोड़ने का कोड:उदाहरण<!DOCTYPE html> <html lang="hi"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=d

  1. MySQL डेटाबेस फाइलें कहां संग्रहीत करता है MySQL डेटाबेस फाइलें कहां संग्रहीत करता है

    यह जानने के लिए कि MySQL डेटाबेस फाइलें कहां संग्रहीत करता है, आप वेरिएबल @@datadir का उपयोग कर सकते हैं। क्वेरी इस प्रकार है - select @@datadir; निम्नलिखित आउटपुट पथ प्रदर्शित करता है - +---------------------------------------------+ | @@datadir | +---------------------------------------------+

  1. 2024 में अपनी फोटो प्रिंट को सुरक्षित रूप से संग्रहीत करने की अंतिम गाइड 2024 में अपनी फोटो प्रिंट को सुरक्षित रूप से संग्रहीत करने की अंतिम गाइड

    हम सभी को तस्वीरें खींचना पसंद है, और मुझे यकीन है कि स्मार्टफोन वाले हम में से प्रत्येक के पास SD कार्ड, USB पेन ड्राइव, एक्सटर्नल हार्ड ड्राइव और क्लाउड स्टोरेज पर हजारों तस्वीरें संग्रहीत हैं। लेकिन यह आपकी अनमोल यादों को संग्रहीत करने का सही तरीका नहीं है। आइए उन चरणों पर चर्चा करें जो आपको अपनी