2011-09-06 14 views
6

मेरे पास उपयोगकर्ताओं के लिए एक तालिका के साथ एक एप्लिकेशन डेटाबेस है (फ़ील्ड * टाइपेलेंथ पर गिनती के आधार पर प्रति उपयोगकर्ता डेटा का 1 किलो), और उपयोगकर्ता के समान आकार के लगभग 100 चीजें (प्रति किलो 0.5 किलोबाइट), और यह एक "उपयोगकर्ता" तालिका और एक "चीज़" तालिका में है।MySQL डेटाबेस आकार अनुमान

ऐसा लगता है कि प्रति उपयोगकर्ता लगभग 51 किलोबाइट डेटा का कारण बनता है। हालांकि, मैंने सुना है कि MySQL के लिए, मुझे इसे इंडेक्स टेबल को कवर करने के लिए दोगुना करना चाहिए, जो मुझे 102 किलोबाइट/उपयोगकर्ता तक ले जाएगा क्या यह सच है? क्या MySQL के लिए विचार करने के लिए कोई अन्य डेटा विस्तार कारक हैं, या 102 किलोबाइट एक अच्छा अनुमान है?

इंडेक्सिंग कारक (जो मुझे लगता है 2) के अलावा और स्टोरेज दक्षता (जिसे मैं भी सोचता हूं 2), क्या MySQL में डेटा संग्रहण के लिए कोई अन्य गुणक हैं?

+0

आप किस डेटाबेस इंजन का उपयोग कर रहे हैं? क्या आप वास्तविक संख्या या अनुमान चाहते हैं? बाइट्स में प्रत्येक तालिका का वास्तविक आकार प्राप्त करने के लिए आप टेबल स्थिति का उपयोग कर सकते हैं। आप उस से बाहर निकलने में सक्षम हो सकते हैं और संख्याओं के यथार्थवादी अनुमान प्राप्त कर सकते हैं। –

+0

मैं भंडारण के लिए innodb का उपयोग कर रहा हूँ। –

+0

http://dev.mysql.com/doc/refman/5.0/en/innodb-disk-management.html कुछ हद तक इनो डीबी डिस्क उपयोग पर चर्चा करता है, लेकिन आपके उद्देश्य को जानने के बिना, मुझे यकीन नहीं है कि सर्वोत्तम गणना कैसे करें या डिस्क उपयोग का अनुमान लगाएं। –

उत्तर

2

लघु जवाब
आकार वृद्धि 2-3x MyISAM से अधिक आम है, 4x दुर्लभ है।

InnoDB इंजन के बारे में सब कुछ:
http://dev.mysql.com/doc/refman/5.1/en/innodb-storage-engine.html

InnoDB, MyISAM और डिस्क स्थान:
http://mysqlha.blogspot.com/2009/01/innodb-myisam-and-disk-space_16.html

MySQL इंजन स्थान उपयोग तुलना:
Part1: http://marksverbiage.blogspot.com/2008/02/mysql-engines-and-space-usage.html
Part2: http://marksverbiage.blogspot.com/2008/04/mysql-engines-space-usage-comparison.html

यहां भौतिक पंक्ति संरचना है :

  • इंडेक्स, याद InnoDB हर माध्यमिक सूचकांक में पी में शामिल हैं:
    http://dev.mysql.com/doc/refman/5.0/en/innodb-physical-record.html

    वहाँ चर और मुद्दों का एक बहुत कुछ कर रहे हैं।

  • क्या आप कुंजी पैकिंग (धीमी) हैं?
  • क्या तालिका अनावश्यक है?
  • लॉग (बाइनरी लॉग, धीमी क्वेरी लॉग, त्रुटि लॉग ....) के बारे में मत भूलना
  • पंक्तियों को शून्य के रूप में घोषित किया गया है, यदि प्रति पंक्ति प्रति नलबल कॉलम अतिरिक्त बाइट जोड़ें।
  • आप किस अक्षर का उपयोग कर रहे हैं?
संबंधित मुद्दे