في استعلام قاعدة البيانات ، تحديد العدد الإجمالي للنتائج قبل تطبيق الحد الأقصى للترقيم. حاليًا ، يتضمن النهج الشائع تشغيل الاستعلام مرتين: مرة واحدة لحساب جميع النتائج ومرة أخرى مع حد لاسترداد الصفحة المطلوبة. ومع ذلك ، يمكن أن تكون هذه الطريقة غير فعالة.
لحسن الحظ ، قدمت PostgreSQL 8.4 حلًا أكثر كفاءة: وظائف النافذة. باستخدام وظيفة نافذة ، يمكنك استرداد كلاً من إجمالي عدد النتائج والنتائج المحدودة في استعلام واحد.
SELECT foo , count(*) OVER() AS full_count FROM bar WHEREORDER BY LIMIT OFFSET ;
أنه على الرغم من أن هذه الطريقة توفر المعلومات المطلوبة ، فقد تكون مكلفة من الناحية الحسابية ، حيث يجب معالجة جميع الصفوف حتى لو تم استبعادها بواسطة الحد الأقصى. إن ترتيب العمليات في postgres هو كما يلي:
تطبيق وظائف النوافذ
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3