في MySQL ماذا يعني "النفقات العامة"، ما هو سيء حيال ذلك، وكيفية إصلاحه؟

StackOverflow https://stackoverflow.com/questions/565997

  •  05-09-2019
  •  | 
  •  

سؤال

سؤال بسيط، ولكن تم تناوله لي لفترة من الوقت الآن ....

ما هو "النفقات العامة" في MySQL، ويجب أن أكون قلقا؟

هل يؤدي النقر فوق "تحسين الجدول" إصلاحه حقيقي؟

هل كانت مفيدة؟

المحلول

يبدو أن النفقات العامة هي Diskspace مؤقتا أن قاعدة البيانات المستخدمة لتشغيل بعض الاستعلامات، لذلك يجب أن تقلق فقط إذا كان هذا مرتفعا حقا.

يمكنك مقارنة "تحسين الجدول" مع إلغاء تجزئة القرص الصلب الخاص بك.

انا اقتبس:

كل قاعدة بيانات، مع مرور الوقت، تتطلب بعض أشكال الصيانة للحفاظ عليها في أفضل مستوى الأداء. تطهير الصفوف المحذوفة، النمو، ضغط، مسارات المؤشر الإداري، إلغاء تجزئة، إلخ. هو ما يعرف باسم التحسين في MySQL وغيرها من المصطلحات في قواعد البيانات الأخرى. على سبيل المثال، يدعو IBM DB2 / 400 إلى إعادة تنظيم عضو الملف المادي.

من النوع الذي يشبه تغيير الزيت في سيارتك أو الحصول على تصوير. قد تعتقد أنك حقا لا تضطر إلى ذلك، ولكن من خلال القيام بذلك، تعمل سيارتك بشكل أفضل، تحصل على أفضل أميال غاز، وما إلى ذلك. السيارة التي تحصل على الكثير من الأميال تتطلب ضبط الوقت في كثير من الأحيان. قاعدة بيانات تحصل على استخدام ثقيل تتطلب نفس الشيء. إذا كنت تقوم بعمل آخر من عمليات التحديث و / أو حذف العمليات، وخاصة إذا كانت جداولك تحتوي على أعمدة طول متغير (varchar، النص، وما إلى ذلك)، فأنت بحاجة إلى الحفاظ على ضبط "ER".

نصائح أخرى

إذا كنت تتحدث عن الشيء الذي phpMyAdmin المكالمات overhead, ، ثم حجمها الفعلي ل Table DataFile بالنسبة للحجم المثالي لنفس DataFile (كما لو كان عند استعادته للتو من النسخة الاحتياطية).

لأسباب الأداء، MySQL لا يضغط مع البيانات بعد حذفها أو تحديث الصفوف.

هذه overhead سيء لمسح الجدول، أي عندما يحتاج استفسارك إلى تشغيل جميع قيم الجدول، ستحتاج إلى النظر إلى مساحة أكثر فارغة.

قد تتخلص من overhead عن طريق الركض OPTIMIZE TABLE من شأنها أن تكبر طاولتك وفهارسك.

النفقات العامة Data_free. من الجدول، وهذا هو عدد البايتات المخصصة ولكن غير المستخدمة.يمكننا أن نجدها بواسطة أمر SQL إظهار حالة الجدول. وبعد إنها المساحة الحرة في الحجم المخصص لطاولتك.

تحسين الجدول يمكن أن يكون مشكلة جدا. على سبيل المثال، إذا تم استخدام الجدول بشدة على موقع.

http://dev.mysql.com/doc/refman/5.1/en/optimize-table.html.

بعد حذف جزء كبير من جدول MyISAM أو أرشيف، أو إجراء العديد من التغييرات في جدول MyISAM أو أرشيف مع صفوف ذات طول متغير (الجداول التي تحتوي على أعمدة Varchar أو Varbinary أو Blob أو text). يتم الحفاظ على الصفوف المحذوفة في قائمة مرتبطة وعمليات إدراج لاحقة إعادة استخدام مواقف الصف القديم.

أعتقد أنني أكدت هذا السلوك. وبالتأكيد سيكون من المفيد جدا بالفعل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top