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

क्या हटाई गई पंक्तियों द्वारा कब्जा किए गए स्थान का पुन:उपयोग किया जाता है?

यह व्यामोह है :)

DB का आकार अनावश्यक रूप से नहीं बढ़ता है, लेकिन प्रदर्शन के मुद्दों के लिए जगह भी खाली नहीं होती है।

आपने जो सबसे अधिक सुना है वह यह है कि यदि आप रिकॉर्ड हटाते हैं तो वह स्थान ऑपरेटिंग सिस्टम को वापस नहीं दिया जाता है। . इसके बजाय, इसे बाद में फिर से उपयोग करने के लिए डीबी के लिए एक खाली जगह के रूप में रखा जाता है।

ऐसा इसलिए है क्योंकि:

  • DB को अपने डेटा को बचाने के लिए कुछ HD ​​स्थान की आवश्यकता होती है; यदि उसके पास कोई स्थान नहीं है, तो वह पहले कुछ खाली स्थान आरक्षित करता है।
  • जब आप एक नई पंक्ति डालते हैं, तो उस स्थान के एक टुकड़े का उपयोग किया जाता है।
  • जब आपके पास खाली जगह खत्म हो जाती है, तो एक नया ब्लॉक आरक्षित कर दिया जाता है, इत्यादि।
  • अब, जब आप कुछ पंक्तियां हटाते हैं , अधिक से अधिक ब्लॉकों को आरक्षित करने से रोकने के लिए, इसका स्थान खाली रखा जाता है लेकिन ऑपरेटिंग सिस्टम को कभी वापस नहीं दिया जाता है, ताकि आप बाद में नए ब्लॉक को आरक्षित किए बिना इसे फिर से उपयोग कर सकें।

जैसा कि आप देख सकते हैं, अंतरिक्ष है पुन:उपयोग किया, लेकिन कभी वापस नहीं दिया। यही आपके प्रश्न का मुख्य बिंदु है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. सी # और माईएसक्यूएल .NET कनेक्टर - सामान्य वर्ग में एसक्यूएल इंजेक्शन हमलों को रोकने का कोई तरीका?

  2. प्रविष्टियां कभी नहीं हटाएं? अच्छा विचार? सामान्य?

  3. GTID के साथ MySQL 5.6 गैर-GTID से MySQL 5.7 में ऑनलाइन स्थानांतरण

  4. अद्यतन या सम्मिलित करें MySQL पायथन

  5. PHP का उपयोग करके .pdf फ़ाइलों को MySQL में BLOB के रूप में कैसे स्टोर करें?