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

क्या मुझे अपना डीबी सामान्य करना चाहिए या नहीं?

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

एक व्यावहारिक मामले के रूप में:इसे जल्दी प्राप्त करने से पहले इसे ठीक करें। हम इंसान यह अनुमान लगाने में बहुत खराब हैं कि अड़चनें कहाँ आएंगी। डेटाबेस को महान बनाएं, एक अच्छी अवधि में प्रदर्शन को मापें, फिर तय करें कि क्या आपको इसे तेज बनाने की आवश्यकता है। इससे पहले कि आप सटीकता को असामान्य और त्याग दें, अन्य तकनीकों का प्रयास करें:क्या आप एक तेज़ सर्वर, कनेक्शन, डीबी ड्राइवर, आदि प्राप्त कर सकते हैं? संग्रहित प्रक्रियाएं चीजों को गति दे सकती हैं? इंडेक्स और उनके भरण कारक कैसे हैं? यदि वे और अन्य प्रदर्शन और ट्यूनिंग तकनीक चाल नहीं करते हैं, केवल तभी denormalization पर विचार करें। फिर यह सत्यापित करने के लिए प्रदर्शन को मापें कि आपको उस गति में वृद्धि मिली है जिसका आपने "भुगतान किया"। सुनिश्चित करें कि आप अनुकूलन कर रहे हैं, निराशावाद नहीं।

[संपादित करें]

ए:ज़रूर।

  1. एक बैकअप बनाएं।
  2. दूसरे डिवाइस के लिए दूसरा बैकअप बनाएं।
  3. "पुराने टेबल से नए टेबल में चयन करें..." टाइप कमांड के साथ नई टेबल बनाएं। पहले की अलग-अलग तालिकाओं को संयोजित करने के लिए आपको कुछ जॉइन करने की आवश्यकता होगी।
  4. पुरानी तालिकाओं को छोड़ दें।
  5. नई तालिकाओं का नाम बदलें।

लेकिन ... अधिक मजबूत दृष्टिकोण पर विचार करें:

अपनी पूरी तरह से सामान्यीकृत तालिकाओं पर अभी कुछ विचार बनाएं। उन विचारों (डेटा पर वर्चुअल टेबल, "विंडोज़" ... मुझसे पूछें कि क्या आप इस विषय के बारे में अधिक जानना चाहते हैं) में ऊपर चरण तीन के समान परिभाषित क्वेरी होगी। जब आप अपना एप्लिकेशन या डीबी-लेयर तर्क लिखते हैं, तो विचारों का उपयोग करें (कम से कम पढ़ने के लिए उपयोग करें; अद्यतन करने योग्य विचार हैं ... ठीक है, दिलचस्प)। फिर यदि आप बाद में असामान्य करते हैं, तो ऊपर के रूप में एक नई तालिका बनाएं, दृश्य छोड़ें, नई आधार तालिका का नाम बदलें, जो भी दृश्य था। आपके एप्लिकेशन/डीबी-लेयर को अंतर पता नहीं चलेगा।

व्यवहार में इसके लिए वास्तव में और भी बहुत कुछ है, लेकिन इससे आपको शुरुआत करनी चाहिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Android एप्लिकेशन के साथ Amazon RDS का उपयोग करना

  2. QMYSQL ड्राइवर QT5.2 में लोड क्यों नहीं हुआ?

  3. दिनांक और समय के अनुसार अवरोही क्रम में छाँटना?

  4. MYSQL स्थापना समस्याएँ

  5. चेतावनी:mysqli_num_rows() बिल्कुल 1 पैरामीटर की अपेक्षा करता है, 2 दिए गए | mysql |mysqli