ماي : الجدول الكامل هو خطأ -- حل
بصرف النظر عن واجباتي العادية ، وأنا أيضا ديسيبل (مدير قاعدة البيانات) وفخري مؤخرا لقد تم استكشاف أخطاء correguir والخلية. بدأ كل شيء مع هذه المشكلة هو موضح أدناه :
من بين كافة قواعد البيانات ، وهناك واحد على وجه الخصوص أن يعالج ما معدله 40k المعاملات في اليوم الواحد. يعمل على قاعدة البيانات هذه الخلية التي لها الجدول الذي يتجاوز بالفعل سجل 21 مليون نسمة ، مما يجعل لديها 4 غيغابايت من المعلومات.
لحجمها ، وهذا الخطأ يظهر الجدول MyISAM والجدول الكامل ، والذي في البداية كنا نظن أننا قد تكون نواة 2.4.x قيود نظام الملفات ext2 (اذا كان ريد هات لينوكس 9).
ماي حد 4GB
خطأ في الخلية ، والجدول الكامل هي الرسالة التي يتم عرضها عند جدول تصل 4GB في حجمها ، وحقا التقليل من أثر ، كما هي عدد قليل جدا من التطبيقات التي يمكن أن يتجاوز هذا المبلغ من البيانات. ولكن عندما يكون لدينا الموحد والخدمات التي نقدمها لدينا قاعدة بيانات الخلية الخادم توقف عن العمل ، هي مشكلة رئيسية.
فمن المستحسن إجراء تحليل جيد وتصميم قاعدة البيانات لدينا حتى أن هذا لا يحدث. ومع ذلك ، أحيانا من الصعب أن نتصور أن الجدول يمكن أن تحتوي على 21 مليون السجلات في غضون سنتين.
InnoDB الجداول لم يكن لديك هذا القيد لأن تخزين نموذج مختلف تماما. في الجدول MyISAM مع الصفوف أو ديناميكية متغيرة الطول ، مؤشر ملف من الجدول (nombre_tabla.MYI) الصفوف المخزنة باستخدام 32 بت المؤشر في ملف البيانات (nombre_tabla.MYI). هذا قد حد من 4 غيغابايت من الفضاء.
أن نتذكر أن معظم أجهزة الكمبيوتر 32bit منذ تكنولوجيات مثل 64 بت أيه إم دي أوبتيرون أيضا أن يكون الدعم ل32bit.
حل مشكلة في الجدول الكامل
الحل على طاولة مليئة ليس dicil جدا ، ما يكفي لتشغيل الأمر تغيير الجدول ، ولكنها يمكن أن تستغرق وقتا طويلا. على سبيل المثال النظر في الجدول مخلوق كم المدة :
الخلية> وصف مخلوق ؛
+-----------------+-----------------------+------+ -----+---------+----------------+
| الميدانية آ آ آ آ آ آ آ آ آ | نوع آ آ آ آ آ آ آ آ آ آ آ آ آ آ آ آ | خالية | الرئيسية | الافتراضي | اضافية آ آ آ آ آ آ آ آ |
+-----------------+-----------------------+------+ -----+---------+----------------+
| دليل آ آ آ آ آ آ آ آ آ آ | كثافة العمليات (10) آ آ آ آ unsigned | نوا | بري | باطل  | auto_increment |
| إيدا آ آ آ آ آ آ آ آ آ آ آ آ | mediumint (8) غير الموقعة | نوا | مول | 0A آ آ آ آ آ | آ آ آ آ آ آ آ آ آ آ آ آ آ آ آ |
| خريطة آ آ آ آ آ آ آ آ آ آ آ | smallint (5) unsigned | نوا | مول | 0A آ آ آ آ آ | آ آ آ آ آ آ آ آ آ آ آ آ آ آ آ |
| SpawnMask آ آ آ آ آ | tinyint (3) unsigned | نوا | آ آ آ آ | 1a آ آ آ آ آ | آ آ آ آ آ آ آ آ آ آ آ آ آ آ آ |
| نماذج آ آ آ آ آ آ آ | mediumint (8) غير الموقعة | نوا | آ آ آ آ | 0A آ آ آ آ آ | آ آ آ آ آ آ آ آ آ آ آ آ آ آ آ |
| Equipment_id آ آ | mediumint (9) آ آ آ آ آ آ آ آ آ | نوا | آ آ آ آ | 0A آ آ آ آ آ | آ آ آ آ آ آ آ آ آ آ آ آ آ آ آ |
| Position_x آ آ آ آ | تعويم آ آ آ آ آ آ آ آ آ آ آ آ آ آ آ | نوا | آ آ آ آ | 0A آ آ آ آ آ | آ آ آ آ آ آ آ آ آ آ آ آ آ آ آ |
| Position_y آ آ آ آ | تعويم آ آ آ آ آ آ آ آ آ آ آ آ آ آ آ | نوا | آ آ آ آ | 0A آ آ آ آ آ | آ آ آ آ آ آ آ آ آ آ آ آ آ آ آ |
| Position_z آ آ آ آ | تعويم آ آ آ آ آ آ آ آ آ آ آ آ آ آ آ | نوا | آ آ آ آ | 0A آ آ آ آ آ | آ آ آ آ آ آ آ آ آ آ آ آ آ آ آ |
| التوجيه آ آ آ | تعويم آ آ آ آ آ آ آ آ آ آ آ آ آ آ آ | نوا | آ آ آ آ | 0A آ آ آ آ آ | آ آ آ آ آ آ آ آ آ آ آ آ آ آ آ |
| Spawntimesecs  | كثافة العمليات (10) آ آ آ آ unsigned | نوا | آ آ آ آ | 120A آ آ آ | آ آ آ آ آ آ آ آ آ آ آ آ آ آ آ |
| Spawndist آ آ آ آ آ | تعويم آ آ آ آ آ آ آ آ آ آ آ آ آ آ آ | نوا | آ آ آ آ | 5A آ آ آ آ آ | آ آ آ آ آ آ آ آ آ آ آ آ آ آ آ |
| Currentwaypoint | mediumint (8) غير الموقعة | نوا | آ آ آ آ | 0A آ آ آ آ آ | آ آ آ آ آ آ آ آ آ آ آ آ آ آ آ |
| Curhealth آ آ آ آ آ | كثافة العمليات (10) آ آ آ آ unsigned | نوا | آ آ آ آ | 1a آ آ آ آ آ | آ آ آ آ آ آ آ آ آ آ آ آ آ آ آ |
| Curmana آ آ آ آ آ آ آ | كثافة العمليات (10) آ آ آ آ unsigned | نوا | آ آ آ آ | 0A آ آ آ آ آ | آ آ آ آ آ آ آ آ آ آ آ آ آ آ آ |
| DeathState آ آ آ آ | tinyint (3) unsigned | نوا | آ آ آ آ | 0A آ آ آ آ آ | آ آ آ آ آ آ آ آ آ آ آ آ آ آ آ |
| MovementType آ آ | tinyint (3) unsigned | نوا | آ آ آ آ | 0A آ آ آ آ آ | آ آ آ آ آ آ آ آ آ آ آ آ آ آ آ |
+-----------------+-----------------------+------+ -----+---------+----------------+
17 الصفوف في مجموعة (0.02 ثانية)
العثور على الحد من حجم الجدول ، استخدم مركز إظهار جدول. ونلاحظ أن Max_data_length هو 4 غيغابايت.
ك> إظهار جدول حالة مثل 'مخلوق' \ ع ؛
*************************** 1. الصف ***************************
آ آ آ آ آ آ آ آ آ آ الاسم : مخلوق
آ آ آ آ آ آ آ آ المحرك : MyISAM
آ آ آ آ آ آ آ الإصدار : 10
آ آ آ آ Row_format : الحيوي
آ آ آ آ آ آ آ آ آ الصفوف : 95.094
آ Avg_row_length : 46
آ آ آ Data_length : 4382696
Max_data_length : 281474976710655
آ آ Index_length : 2628608
آ آ آ آ آ Data_free : 0
آ auto_increment : 106.039
آ آ آ Create_time : 2008-09-19 09:54:05
آ آ آ Update_time : 2008-09-19 10:31:08
آ آ آ آ Check_time : 2008-09-19 10:31:09
آ آ آ آ آ ترتيب : utf8_general_ci
آ آ آ آ آ آ اختباري : خالي
آ Create_options : row_format = حيوي
آ آ آ آ آ آ التعليق : نظام إستدع
1 على التوالي في مجموعة (0.00 ثانية)
خطأ :
لا الاستعلام المحدد
ك>
دعونا إصلاح هذا بكتابة : الخلية> تغيير الجدول مخلوق AVG_ROW_LENGTH max_rows = 200000000000 = 50 ؛
الاستعلام موافق ، 0 الصفوف المتأثرة (0.03 ثانية)





























