أعلنت مجموعة تطوير PostgreSQL عن توفر الإصدار 12، أحدث إصدار من قاعدة البيانات مفتوحة المصدر. PostgreSQL 12 يتضمن تحسينات كبيرة في أداء الاستعلام، خاصة على كميات كبيرة من البيانات والاستخدام الكلي لمساحة القرص. ويوفر هذا الإصدار لمطوري التطبيقات ميزات جديدة مثل دعم تعبيرات SQL / JSON وتحسينات في تنفيذ تعبيرات الجداول الشائعة WITH وإضافة أعمدة محسوبة.

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

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

يوفر PostgreSQL 12 تحسينات كبيرة في الأداء والصيانة في كل من نظام الفهرسة والتقسيم. وتم تحسين فهارس B-tree، نوع الفهرسة القياسي لـ PostgreSQL، باستخدام PostgreSQL 12 للتعامل مع أعباء العمل حيث يتم تعديل هذه الفهارس بشكل متكرر.

وتم أيضًا إجراء تحسينات كبيرة على الاستعلامات على الجداول المقسمة، خاصة على الجداول التي تحتوي على آلاف الأقسام والتي لا بد من استرداد مجموعة فرعية محدودة فقط من البيانات. يعمل PostgreSQL 12 أيضًا على تحسين الأداء عند إضافة البيانات إلى الجداول المقسمة باستخدام INSERT و COPY. ويتيح لك هذا الإصدار إرفاق قسم جديد بجدول دون حظر الطلبات.

هناك تحسينات فهرسة أخرى في PostgreSQL 12 تؤثر على الأداء الكلي. ومن بين الأشياء الأخرى، يذكر الفريق خفض تكلفة إنشاء فهارس GiST و GIN و SP-GiST في WAL وإمكانية إنشاء فهارس تغطية (فقرة INCLUDE) على فهارس GiST وإمكانية إجراء استعلامات. كما يبحث عن أقرب جار K (KNN) باستخدام عامل المسافة () باستخدام فهارس SP-GiST الأمر CREATE STATISTICS الذي يدعم الآن إحصائيات القيمة الأكثر شيوعًا (MCV) ) لإنتاج خطط استعلام أفضل عند استخدام أعمدة غير موزعة بشكل موحد.

يتم الآن تمكين التجميع في الوقت المناسب (JIT) باستخدام LLVM، والذي تم تقديمه في PostgreSQL 11 افتراضيًا. يمكن أن يوفر التحويل البرمجي JIT مكاسب في الأداء عند تنفيذ الاستعلام في جمل WHERE والقوائم المستهدفة والمجاميع والعمليات الداخلية الأخرى. ويتوفر هذا الخيار في الإصدارات التي تم تجميعها أو تعبئتها بدعم LLVM.

المصدر : PostgreSQL