معالجة الاستعلامات البطيئة "SELECT COUNT(*)" في MySQL
استعلامك في جدول Change_event، مع حساب الصفوف التي تتجاوز Change_event_id محددًا ، تشهد تأخيرات كبيرة. لكن لماذا؟ دعونا نتعمق في الأسباب المحتملة.
الكشف عن سلوك InnoDB
يستخدم محرك InnoDB الخاص بـ MySQL مفاتيح أساسية مجمعة، مما يعني أنه يتم تخزين المفتاح الأساسي جنبًا إلى جنب مع بيانات الصف في صفحات البيانات، بدلاً من ذلك. من صفحات الفهرس المنفصلة. ونتيجة لذلك، تتطلب عمليات فحص النطاق، مثل تلك التي تقوم بها، إجراء مسح عبر كافة الصفوف التي يحتمل أن تكون واسعة في صفحات البيانات. يتفاقم هذا العامل بسبب عمود xml_diff بالجدول، وهو نوع بيانات TEXT يؤدي إلى إبطاء عملية المعالجة بشكل أكبر.
إستراتيجيات التحسين
لتسريع الاستعلام، هناك طريقتان تستحقان النظر فيهما. :
نصيحة إضافية:
لتحسين الأداء بشكل أكبر، فكر في تغيير عمود Change_event_id إلى bigint غير الموقع. تمنع هذه الخطوة القيم السالبة ويمكنها أيضًا تبسيط المعالجة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3