تنسيق التخزين المضغوط هو تنسيق للقراءة فقط تم إنشاؤه بواسطة أداة myisampack.
يتم تضمين Myisampack افتراضيًا في جميع توزيعات MySQL. يمكن فك ضغط الجداول المضغوطة باستخدام myisamchk.
تتميز الجداول المضغوطة بالخصائص التالية:
· تشغل الجداول المضغوطة مساحة صغيرة جدًا على القرص. يؤدي هذا إلى تقليل استخدام القرص، وهو أمر مفيد عند استخدام الأقراص البطيئة (مثل الأقراص المضغوطة).
· يتم ضغط كل سجل على حدة، لذلك لا يوجد سوى قدر ضئيل للغاية من الحمل. يحتل رأس السجل من 1 إلى 3 بايت في كل جدول، اعتمادًا على أكبر سجل في الجدول. يتم ضغط كل عمود بشكل مختلف. عادةً ما تكون هناك شجرة هوفمان مختلفة لكل عمود. بعض أنواع الضغط هي كما يلي:
o ضغط مسافة اللاحقة.
- ضغط مساحة البادئة.
- يتم تخزين الأرقام ذات القيمة الصفرية في بت واحد.
- إذا كانت القيم الموجودة في عمود عدد صحيح لها نطاق صغير، فسيتم تخزين العمود باستخدام أصغر نوع ممكن. على سبيل المثال، يمكن تخزين عمود BIGINT (8 بايت) كعمود TINYINT (1 بايت) إذا كانت جميع قيمه في النطاق -128 إلى 127
- إذا كان العمود يحتوي فقط على مجموعة صغيرة من القيم المحتملة، فسيتم تحويل نوع العمود إلى ENUM.
- يمكن للعمود استخدام أي مجموعة من أنواع الضغط السابقة.
· يمكن التعامل مع طول ثابت أو طول السجلات الديناميكية.