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

MySQL विभाजन/साझाकरण/विभाजन - किस रास्ते पर जाना है?

एक बार जब यह मेमोरी में फिट नहीं होगा तो आप निश्चित रूप से उस 42 जीबी टेबल पर मुद्दों में भाग लेना शुरू कर देंगे। वास्तव में, जैसे ही यह स्मृति में फिट नहीं होगा, प्रदर्शन बहुत जल्दी खराब हो जाएगा। परीक्षण करने का एक तरीका यह है कि उस तालिका को कम RAM वाली किसी अन्य मशीन पर रखा जाए और देखें कि यह कितना खराब प्रदर्शन करती है।

यह गलत है। विभाजन (या तो MySQL 5.1 में सुविधा के माध्यम से, या MERGE तालिकाओं का उपयोग करके एक ही चीज़) महत्वपूर्ण प्रदर्शन लाभ प्रदान कर सकता है, भले ही टेबल एक ही ड्राइव पर हों।

उदाहरण के तौर पर, मान लें कि आप दिनांक सीमा का उपयोग करके अपनी बड़ी तालिका पर SELECT क्वेरीज़ चला रहे हैं। यदि तालिका पूरी है, तो क्वेरी को पूरी तालिका के माध्यम से स्कैन करने के लिए मजबूर किया जाएगा (और उस आकार में, इंडेक्स का उपयोग भी धीमा हो सकता है)। विभाजन का लाभ यह है कि आपके प्रश्न केवल उन विभाजनों पर चलेंगे जहाँ यह अत्यंत आवश्यक है। यदि प्रत्येक विभाजन 1 जीबी आकार का है और आपकी क्वेरी को स्वयं को पूरा करने के लिए केवल 5 विभाजनों तक पहुंचने की आवश्यकता है, तो संयुक्त 5 जीबी तालिका एक राक्षस 42 जीबी संस्करण की तुलना में MySQL के लिए बहुत आसान है।

एक चीज जो आपको खुद से पूछने की जरूरत है वह यह है कि आप डेटा को कैसे क्वेरी कर रहे हैं। यदि ऐसा मौका है कि आपके प्रश्नों को केवल कुछ निश्चित डेटा (यानी एक तिथि सीमा या आईडी सीमा) तक पहुंचने की आवश्यकता होगी, तो किसी प्रकार का विभाजन फायदेमंद साबित होगा।

मैंने सुना है कि MySQL 5.1 विभाजन के साथ अभी भी कुछ गड़बड़ी है, विशेष रूप से MySQL से सही कुंजी चुनने से संबंधित है। MERGE टेबल समान कार्यक्षमता प्रदान कर सकते हैं, हालांकि उन्हें थोड़ा अधिक ओवरहेड की आवश्यकता होती है।

आशा है कि इससे मदद मिलेगी...शुभकामनाएं!



  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. SQL के साथ समयक्षेत्र समाधान

  3. MySQL में एक ऑटो वृद्धि मूल्य की वर्तमान गणना बदल रहा है?

  4. मैं एक सम्मिलित कथन के साथ MySQL में यूनिकोड वर्ण कैसे सम्मिलित करूं?

  5. Laravel 5.4 अपग्रेड, utf8 से utf4mb में कनवर्ट करना