PmaControl logo PmaControl
  • مرحباً
  • PmaControl
    • وكلاء الذكاء الاصطناعي 13 وكلاء محليين
    • عروضنا المجتمع، السحابة، محليًا، المميز
    • التوثيق أدلة، API، الهندسة المعمارية
    • سجل التغييرات كل إصدارات 5.x المستقرة
    • السوق المكونات الإضافية للمجتمع
    • عملاء أكثر من 28 شركة
    • الأسئلة الشائعة 25 سؤالا / 7 فئات
    قواعد البيانات
    • ماريا دي بي 35 مادة
    • ماي إس كيو إل 15 articles
    • مجموعة جاليرا 6 عناصر
    • ماكس سكيل 4 عناصر
    • ProxySQL 3 عناصر
    • أمازون أورورا ماي إس كيو إل 0 العناصر
    • قاعدة بيانات أزور 0 العناصر
    • انقر البيت 0 العناصر
    • GCP CloudSQL 0 العناصر
    • بيركوناسيرفر 0 العناصر
    • متجر واحد 0 العناصر
    • تي دي بي 0 العناصر
    • سرعة 0 العناصر
    الحلول
    • دعم 24 × 7 حالات الطوارئ MariaDB وMySQL
    • Observabilité SQL المراقبة والتنبيهات والطوبولوجيا
    • Haute disponibilité النسخ المتماثل، تجاوز الفشل، جاليرا
    • Disaster Recovery النسخ الاحتياطي والاستعادة، RPO/RTO
    • Sécurité & conformité التدقيق، اللائحة العامة لحماية البيانات، SOC2
    • Migration & upgrade صفر توقف عن العمل، pt-osc، gh-ost
  • عروضنا
  • موارد
    • التوثيق الأدلة الفنية وواجهات برمجة التطبيقات
    • مركز تحسين MySQL مؤشر تخفيض السعر والمقاييس والإعدادات والحوادث
    • الأسئلة الشائعة 25 سؤالا متكررا
    • الشهادات ملاحظات العملاء وحالات الاستخدام
    • مدونة مقالات ورؤى
    • خريطة الطريق الميزات القادمة
    مجالات الخبرة
    • Observabilité SQL المراقبة والتنبيهات وطوبولوجيا Dot3
    • Haute disponibilité النسخ المتماثل، تجاوز الفشل، جاليرا
    • Sécurité & conformité التدقيق، اللائحة العامة لحماية البيانات، SOC2، ISO 27001
    • Disaster Recovery النسخ الاحتياطي والاستعادة، RPO/RTO
    • Performance & optimisation ملخصات، شرح، ضبط
    • Migration & upgrade صفر توقف عن العمل، pt-osc
    روابط سريعة
    • جيثب ويكي 26 صفحة - التثبيت والمحرك والمكونات الإضافية
    • كود المصدر مستودع جيثب الرسمي
    • دعم 24 × 7 حالات الطوارئ MariaDB وMySQL
    • احجز عرضًا توضيحيًا 30 دقيقة - هندسة معمارية حقيقية
  • دعم 24 × 7
  • احجز عرضًا توضيحيًا
احجز عرضًا توضيحيًا
🇫🇷 FR Français 🇬🇧 EN English 🇵🇱 PL Polski 🇷🇺 RU Русский 🇨🇳 ZH 中文 🇸🇦 AR العربية
موارد › مركز تحسين MySQL › فحص المخطط MySQL

فحص المخطط MySQL

وثائق Markdown المنظمة لتشخيص MySQL وقياسها وتحسينها.


فحص المخطط MySQL

هذه الصفحة هي وثائق PmaControl الأصلية. ويستخدم بنية فهرس عملية للعمل على تحسين MySQL، دون نسخ محتوى جهة خارجية أو الاعتماد على منتج خارجي.

الهدف

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

نقاط للتحقق

  • جداول InnoDB بدون مفتاح أساسي.
  • فهارس مكررة أو زائدة عن الحاجة إلى حد كبير.
  • الأعمدة VARCHAR أو TEXT المستخدمة في الفهارس الواسعة جدًا.
  • انضم إلى الأعمدة بأنواع أو مجموعات مختلفة.
  • جداول كبيرة بدون استراتيجية أرشفة.
  • القيود الرئيسية الخارجية غائبة عندما تكون النزاهة هي العمل.

استفسارات مفيدة

SELECT table_schema, table_name
FROM information_schema.tables t
WHERE engine = 'InnoDB'
  AND table_schema NOT IN ('mysql', 'performance_schema', 'information_schema', 'sys')
  AND NOT EXISTS (
      SELECT 1
      FROM information_schema.table_constraints c
      WHERE c.table_schema = t.table_schema
        AND c.table_name = t.table_name
        AND c.constraint_type = 'PRIMARY KEY'
  );

للتذكر

يربط فحص المخطط ذو الصلة كل حالة شاذة باستعلام أو خطة تنفيذ أو تكلفة تشغيلية قابلة للقياس.

جرد الأحجام والمحركات والمسؤولين

ابدأ بالجداول المهمة للأعمال والاستعلامات التي تصل إليها. سجّل الغرض وسياسة الاحتفاظ ومعدل الكتابة ونافذة الصيانة. تحدد بيانات المخطط المرشحين للفحص، لكنها لا تثبت مشكلة أداء. أعداد صفوف InnoDB وأحجامه تقديرات تُستخدم للترتيب لا للمحاسبة الدقيقة. تجنب العد الكامل المكلف لمجرد إظهار الجرد بدقة أكبر.

SELECT table_schema, table_name, engine, table_rows,
       ROUND(data_length / 1024 / 1024, 1) AS data_mib,
       ROUND(index_length / 1024 / 1024, 1) AS index_mib
FROM information_schema.tables
WHERE table_type = 'BASE TABLE'
  AND table_schema NOT IN ('mysql', 'sys', 'performance_schema',
                           'information_schema')
ORDER BY data_length + index_length DESC
LIMIT 20;

مراجعة الفهارس المرشحة مقابل الحمل الفعلي

SELECT table_schema, table_name, redundant_index_name,
       dominant_index_name
FROM sys.schema_redundant_indexes
WHERE table_schema NOT IN ('mysql', 'sys');

SELECT object_schema, object_name, index_name
FROM sys.schema_unused_indexes
WHERE object_schema NOT IN ('mysql', 'sys');

تتطلب عروض MySQL sys هذه تثبيت المخطط وتوافر القياس المناسب. الفهرس غير مستخدم فقط ضمن الحمل المرصود: ضمّن التقارير ومهام نهاية الشهر وقراءات النسخ والأدوار بعد التحويل. افحص التفرد واعتماد المفاتيح الأجنبية قبل الحذف. تداخل البادئات مرشح للمراجعة، لا أمراً تلقائياً بالحذف. في MySQL 8+ يمكن جعل الفهارس المؤهلة غير مرئية في اختبار مضبوط، لكنها تبقى ذات كلفة عند الكتابة.

فحص مسارات الوصول وتوافق الأعمدة

SELECT table_name, column_name, column_type, is_nullable,
       character_set_name, collation_name
FROM information_schema.columns
WHERE table_schema = 'app'
ORDER BY table_name, ordinal_position;

EXPLAIN FORMAT=JSON
SELECT id, created_at
FROM app.orders
WHERE customer_id = 42
ORDER BY created_at DESC
LIMIT 20;

استبدل app.orders وأعمدته باستعلام فعلي ممثل. افحص المفاتيح المحتملة والمختار والصفوف المقدرة والفلاتر المتبقية والفرز. في المثال، فهرس يبدأ بـ (customer_id, created_at) مرشح للاختبار وليس وصفة عامة. طابق أنواع أعمدة الربط وإشارتها ومجموعات الأحرف وقواعد ترتيبها. قد تغير التحويلات الضمنية أو الدوال على الأعمدة المفهرسة مسار الوصول. تحقّق بمعاملات واقعية تشمل العملاء ذوي البيانات الكبيرة.

تصنيف نتائج فحص البنية

المؤشر كيفية التحقق الخطوة التالية
غياب المفتاح الأساسي تعريف الجدول وهوية الصفوف اختيار مفتاح ثابت وتقييم كلفة إعادة البناء
فهرس زائد التعريف والاعتمادات وتغطية الحمل اختبار الإزالة قبل اعتماد DDL
أعمدة ربط غير متوافقة الأنواع والترتيب والخطة الفعلية التحقق من التحويل ودلالات التطبيق

تحويل النتيجة إلى ترحيل مضبوط

  • حفظ SHOW CREATE TABLE والاستعلامات التابعة والمفاتيح الأجنبية والخطة الأصلية.
  • تقدير مساحة القرص المؤقتة والمدة وانتظار أقفال البيانات الوصفية وأثر النسخ وفق DDL والإصدار المحددين. قد ينتظر DDL المتصل هذه الأقفال أيضاً.
  • الاختبار ببيانات ممثلة ومقارنة زمن القراءة وكلفة الكتابة والحجم وصحة النتائج.
  • تخطيط التراجع صراحةً: إعادة بناء فهرس محذوف تستغرق وقتاً، والتراجع عن المخطط قد يتطلب تحويل البيانات أو استعادتها.

متابعة التشخيص

  • اربط كل نتيجة بـ ضبط الأداء وسجّلها في صفحة التقييم.

المراجع الرسمية

  • MySQL redundant indexes
  • MySQL unused indexes
  • MySQL online DDL
PmaControl
+33 6 63 28 27 47 contact@pmacontrol.com
إشعارات قانونية GitHub اتصال
لا تنتظر وقوع الحادث حتى تفهم هندستك المعمارية. © 2014-2026 PmaControl — 68Koncept