Zerious San نشر الثلاثاء في 06:37 أرسل تقرير نشر الثلاثاء في 06:37 كيف اجعل fetch ياخذ عدد محدد من البيانات بدون controller؟ ام احتاج ابرمج هذا في controller ؟ لتجنب جلب كل البيانات، ةالتأثير على الأداء بشكل كبير، وأيضًا استهلاك الموارد بدون داعٍ. 1 اقتباس
0 Mustafa Suleiman نشر أمس الساعة 01:57 أرسل تقرير نشر أمس الساعة 01:57 fetch ليس الغرض منها تحديد كمية البيانات، فالمتحكم هو المسؤول الأول والأساسي عن تلك العملية، حيث أن fetch هي مجرد وسيلة نقل للطلب من المتصفح إلى الخادم، ولا تملك أي صلاحية للوصول المباشر إلى قاعدة البيانات أو التحكم في كيفية استرجاع البيانات منها. يتوجب عليك كتابة المنطق الخاص بتقسيم البيانات داخل المتحكم في الواجهة الخلفية، لأنّ عملية جلب البيانات تعتمد على استعلامات SQL أو NoSQL التي يتم تنفيذها على الخادم، فالمتصفح يرسل فقط الرغبة في الحصول على عدد معين عبر Query Parameters، ويجب على الخادم أن يفهم تلك الرغبة وينفذها. بمعنى تبدأ العملية عندما تقوم بإرسال الطلب عبر fetch بتمرير المعايير مثل ?limit=10 ضمن الرابط، والتي يستقبلها المتحكم ويقوم بقراءة تلك القيم ومعالجتها، ثم دمجها داخل استعلام قاعدة البيانات باستخدام أوامر مثل LIMIT و OFFSET، وبالتالي يتم استخراج العشرة صفوف المطلوبة فقط من القرص الصلب للخادم وإرسالها عبر الشبكة. وفي حال لا يوجد ذاك المنطق في الخلفية، فسيقوم الخادم بتجاهل تلك المعاملات المرسلة في الرابط، وسيعيد كامل محتوى الجدول في قاعدة البيانات، بالتالي fetch ستقوم بتحميل حجم بيانات ضخم، ويتدهور الأداء حتى لو قمت بعرض جزء صغير منها لاحقاً بواسطة جافاسكريبت، فالهدف الأساسي هو تقليل البيانات المنقولة عبر الشبكة وليس فقط تقليل المعروض على الشاشة. اقتباس
السؤال
Zerious San
كيف اجعل fetch ياخذ عدد محدد من البيانات بدون controller؟ ام احتاج ابرمج هذا في controller ؟ لتجنب جلب كل البيانات، ةالتأثير على الأداء بشكل كبير، وأيضًا استهلاك الموارد بدون داعٍ.
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.