MySQL दूसरा सबसे व्यापक रूप से इस्तेमाल दुनिया में खुला स्रोत संबंधपरक डेटाबेस प्रबंधन प्रणाली है। यह अपने लगातार तेजी से प्रदर्शन, उच्च विश्वसनीयता और उपयोग में आसानी के कारण इतना लोकप्रिय हो गया। यह लेख प्रस्तुत करता है MySQL में सर्वोत्तम प्रथाओं हैं।
MySQL में सर्वश्रेष्ठ अभ्यास
1। हमेशा उचित डेटाप्रकार का उपयोग
डेटा की प्रकृति के आधार डेटाटाइप्स का प्रयोग करें। आप अप्रासंगिक डेटाटाइप्स का उपयोग करते हैं यह अधिक स्थान का उपभोग कर सकते या त्रुटियों को जन्म दे सकती
उदाहरण:। DATETIME डेटाप्रकार के बजाय दुकान दिनांक समय मूल्यों के लिए varchar (20) का उपयोग करते हुए दिनांक समय-संबंधी गणना के दौरान त्रुटियों को बढ़ावा मिलेगा और वहाँ भी है अमान्य डेटा को संग्रहीत करने का संभव मामले।
2। उपयोग CHAR (1) VARCHAR से अधिक (1)
यदि आप स्ट्रिंग एकल वर्ण, उपयोग CHAR (1) के बजाय VARCHAR (1) की वजह से VARCHAR (1) स्टोर जानकारी के लिए अतिरिक्त बाइट ले जाएगा
3। दुकान में उपयोग CHAR डेटाप्रकार केवल निश्चित लंबाई डेटा
उदाहरण:varchar (1000) के बजाय चार (1000) का उपयोग करते हुए और अधिक स्थान की खपत होगी, तो डेटा की लंबाई 1000 से भी कम है
4। क्षेत्रीय तिथि प्रारूप के प्रयोग से बचें
आप DATETIME का उपयोग या DATE डेटाप्रकार हमेशा YYYY-MM-DD दिनांक प्रारूप या आईएसओ दिनांक स्वरूप है कि सूट अपने एसक्यूएल इंजन का उपयोग करते हैं। डीडी-MM-YYY जैसे अन्य क्षेत्रीय प्रारूप MM-DD-YYYY ठीक से संग्रहीत नहीं किया जाएगा।
5। सूचकांक प्रमुख कॉलम
स्तंभ में उपयोग किया जाता सूचकांक करना सुनिश्चित करें ताकि खंड शामिल हों कि क्वेरी परिणाम तेजी से।
आप अद्यतन बयान है कि यह सुनिश्चित करें कि सभी स्तंभों जो तालिकाओं में शामिल होने के लिए किया जाता है और अधिक से अधिक एक तालिका मेकअप शामिल है का उपयोग करते हैं अनुक्रमित
6। अनुक्रमित स्तंभों पर कार्यों का प्रयोग न करें
अनुक्रमित स्तंभों पर कार्यों का उपयोग करते हुए सूचकांक के उद्देश्य को हरा दिया। मान लीजिए आप डेटा जहां ग्राहक कोड के पहले दो चरित्र एके है प्राप्त करना चाहते हैं,
कहां छोड़ दिया तालिका से सेलेक्ट कॉलम्स नहीं लिखते (customer_code, 2) ='ए'
लेकिन
तालिका से चयन कॉलम WHERE 'एके%'
तरह customer_code जो सूचकांक का उपयोग कर देगा जो तेजी से प्रतिक्रिया समय में परिणाम है।
7। का उपयोग करें चुनें केवल * यदि आवश्यक हो तो
बस आँख बंद करके कोड में चुनें * प्रयोग न करें। अगर वहाँ विशेष रूप से यदि आप एक सामने के अंत आवेदन करने के लिए परिणाम भेज मेज, सभी लौट आए हो जाएगी जो नीचे प्रतिक्रिया समय धीमी हो जाएगी में कई स्तंभ हैं।
स्पष्ट रूप से स्तंभ नाम जो वास्तव में जरूरत है बाहर टाइप करें।
8। का प्रयोग करें आदेश द्वारा खण्ड केवल अगर जरूरत
आप सामने के अंत आवेदन में परिणाम दिखाने के लिए चाहते हैं, उसके लिए आदेश परिणाम सेट करते हैं। एसक्यूएल में ऐसा करने से बहु उपयोगकर्ता वातावरण में प्रतिक्रिया समय धीमा हो सकता है।
9। उचित डेटाबेस इंजन चुनें
आप किसी अनुप्रयोग है कि डेटा लिखने की तुलना में अधिक बार पढ़ता विकसित है (उदा:खोज इंजन), MyISAM भंडारण इंजन चुनते हैं
आप किसी अनुप्रयोग है कि डेटा (पूर्व:रीयल-टाइम बैंक लेन-देन) पढ़ने की तुलना में अक्सर लिखते हैं विकसित करते हैं।, InnoDB स्तोरागे engine चुनें।
गलत भंडारण इंजन का चयन प्रदर्शन को प्रभावित करेगा
10। जहाँ भी जरूरत उपयोग खंड मौजूद है
आप डेटा के अस्तित्व की जाँच करने,
उपयोग नहीं करते हैं चाहते हैं (तालिका से चयन गिनती (*) जहां col ='कुछ मान')> 0
बजाय, उपयोग खंड
तो मौजूद है मौजूद है (का चयन करें * टेबल से कहां col ='कुछ मान')
जो प्रतिक्रिया समय में तेजी से होता है।