"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني تحسين أداء العد (*) على InnoDB مع المؤشرات والتخزين المؤقت الإحصائي؟

كيف يمكنني تحسين أداء العد (*) على InnoDB مع المؤشرات والتخزين المؤقت الإحصائي؟

نشر في 2025-02-09
تصفح:209

How Can I Optimize COUNT(*) Performance on InnoDB with Indices and Statistical Caching?

تحسين الأداء (*) على innodb مع المؤشرات

عند التعامل مع جداول InnoDB كبيرة ولكنها ضيقة ، يمكن أن تكون استفسارات العد (*) بطيئة. تمت مواجهة هذا في سيناريو حيث أدى جدول يتكون من 9 ملايين سجل تقريبًا إلى عملية عدد من 6 ثوانٍ (*).

مكاسب. يتم تحقيق ذلك باستخدام بناء جملة الفهرس (index_name) في الاستعلام.

في المثال المحدد ، تم استخدام الاستعلام التالي:

الفهرس (الأساسي) ؛
SELECT COUNT(id) FROM perf2 USE INDEX (PRIMARY);

جدولة الأحداث والتخزين الإحصائي جدول الإحصائيات ، يمكن تحسين عملية العد (*) بشكل كبير. تستلزم العملية إنشاء جدول STAT لتخزين بيانات العد:

&&&]

بعد ذلك ، يتم إنشاء حدث لتحديث جدول الإحصائيات بانتظام مع العدد الحالي:

في الموعد المحدد كل 5 دقائق يفعل أدخل في الإحصائيات ("المفتاح" ، "القيمة") القيم ('data_count' ، (حدد عدد (معرف) من البيانات)) على قيمة تحديث المفتاح المكررة = القيم (القيمة) ؛

 يسمح هذا الحل المكتئب بذات فترات تحديث قابلة للتخصيص ، مما يضمن دقة ونضارة العدد المخزن. على الرغم من أنه قد لا يكون مثاليًا ، إلا أنه يوفر تحسينات كبيرة في الأداء مقارنة بالطرق التقليدية. 
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3