الحد الأقصى لأداء قاعدة البيانات المفهرسة عند استخدام مجموعات التخزين

أجرى فريق Chrome عددًا من التحسينات المتعلقة بالأداء على تنفيذ أداة IndexedDB (IDB). وكان أحد هذه التحسينات هو نقل مخزنًا داعمًا لكل مثيل بتسلسل منفصل (يمكنك التفكير في هذا تقريبًا كسلسلة محادثات منفصلة). ويعني هذا أنّ الاستخدام المتزامن للبنك الاحتياطي الهندي (IDB) بشكل أسرع، إما من الموقع نفسه أو من مواقع متعددة. تقدّم هذه المشاركة لكافة التفاصيل، ويشرح ما عليك فعله للاستفادة من هذه الخطوة، التي تتوفر من Chrome 126.

على جميع المواقع

إذا كان استخدامك لمصرف IDB يشمل مواقع إلكترونية متعددة، لن تحتاج إلى اتخاذ أي إجراء. بمجرد هذا لقد حدثت عملية نقل على مستوى المتصفح، وتخزين الدعم لكل مثيل من مثيل IDB الانتقال إلى تسلسل منفصل، فإن تحقيق مكاسب الأداء سيأتي دون الحاجة إلى اتخاذ وأي شيء.

الموقع نفسه

للحصول على هذا التحسين في الأداء لاستخدام الموقع نفسه، تحتاج إلى الفصل حالات استخدام بنك الاحتياطي الهندي (IDB) في حالات مختلفة، أي حِزم التخزين. نموذج التعليمة البرمجية التالي كيفية عمل ذلك:

const request = indexedDB.open('main', 1);
request.onsuccess = (event) => {
  /* Do stuff with the main instance. */
};

// By default, just use the regular IDB instance.
let idb = indexedDB;
// Open a separate storage bucket if the API is supported.
if ('storageBuckets' in navigator) {
  const bucket = await navigator.storageBuckets.open('logs-bucket');
  // Get access to the storage bucket's IDB instance.
  idb = bucket.indexedDB;
}
const bucketRequest = idb.open('logs', 1);
bucketRequest.onsuccess = (event) => {
  /* Do stuff with the separate instance. */
};

دعم المتصفح

إن الزيادة في الأداء المذكورة في هذه المشاركة هي تحسين تدريجي يمكنك الاستفادة منها عندما تكون واجهة برمجة التطبيقات Storage Buckets API متوافقة مع متصفحك (من Chrome 122) وعند تجزئة مثيلات IDB، من Chrome 126.

عرض توضيحي

تحقق من العرض التوضيحي لهذه الميزة على تأثير خلل. ويعرض رمز المصدر المفهوم من مقتطف الرمز السابق. تأكد من اتباع التعليمات الواردة في العرض التوضيحي. في حال فحص مثيلات IDB باستخدام Chrome في "أدوات مطوري البرامج"، يمكنك الاطّلاع على حزمة مساحة التخزين المُستخدَمة في القسم اسم الحزمة. بمربع أحمر في لقطة الشاشة التالية.

فحص "أدوات مطوري البرامج في Chrome" لقسم IndexedDB. هناك قاعدتا بيانات للسجلات، وهما اسم حزمة التخزين

شكر وتقدير

تمت مراجعة هذه المشاركة بواسطة إيفان ستاد راشيل أندرو.