خوارزمية الترحيل هي مشكلة يهتم بها مطورو الويب كثيرًا. تتضمن كل التطبيقات المتعلقة بقاعدة البيانات تقريبًا خوارزمية الترحيل في هذا المجال، ويبدو أنه لا يوجد شيء يمكن مناقشته، ولكن في الواقع، دعونا نتغير من خلال تغيير تمثيل البيانات، يمكن استخدام خوارزمية ترحيل أفضل. دعونا نرى ما إذا كان بإمكاننا القيام بعمل أفضل الآن.
دعونا نتحدث أولاً عن بعض الأساليب الموجودة.
أحدهما هو الترحيل عبر DataGrid. هذه الطريقة هي الأبسط، ولكنها ليست فعالة وتتطلب قراءة كافة البيانات أمام البيانات المطلوبة.
والثاني هو ملء طريقة الترحيل الخاصة بـ DataSet عن طريق تحديد سجل البداية ورقم السجل DbDataAdapter.Fill. هذه الطريقة بسيطة أيضًا، ولكنها أيضًا غير فعالة وتتطلب قراءة جميع البيانات أمام البيانات المطلوبة.
والثالث هو تحديد السجلات المطلوبة من منتصف الجدول من خلال التحديد المتعدد والفرز المتعدد لمنع تكرار البيانات الموجودة على الصفحات المجاورة، ومن الضروري استخدام ليس في، مما سيؤدي إلى ظهور البيانات الخلفية سيتم تقليل أداء قاعدة البيانات بشكل كبير في الجدول الذي يحتوي على كمية كبيرة من البيانات.
لنفترض أننا قمنا بتغيير شكل العرض التقديمي للجدول، مع أخذ العرض التقديمي الشبكي باستخدام أشرطة التمرير في تطبيق C/S التقليدي كمثال، في الواقع، هذه الطريقة هي طريقة العرض الأكثر ملاءمة لجداول قاعدة البيانات، وهي طريقة العرض الشائعة الاستخدام في تطبيقات الويب تعتبر طريقة اتصال رقم الصفحة 1،2،3... أو طريقة شريط تصفح رقم الصفحة للصفحة السابقة وأزرار الصفحة التالية هي الملاذ الأخير، لأنه لا يمكن استخدام التكنولوجيا البسيطة لتنفيذ أشرطة التمرير في تطبيقات الويب. شبكة.
تحتوي جميع الجداول الموجودة في قاعدة البيانات على مفاتيح أساسية للتمييز بين السجلات المختلفة في الجداول؛ كما تحتوي البيانات الموجودة في الشبكة على واجهة المستخدم بشكل منطقي على مفاتيح أساسية، وإلا ستكون البيانات غامضة، ومع ذلك، في معظم التطبيقات، لا يوجد أي إعداد. من المستحيل معرفة المفتاح الأساسي لبيانات القراءة، حتى لو قام عدد قليل من التطبيقات بإعداده، فهم يعرفون المفتاح الأساسي لبيانات القراءة، لكنهم في الواقع لا يطبقونه على الترحيل، طالما أنك تعلم المفتاح الأساسي لبيانات القراءة، يمكنك إجراء الترحيل بسهولة بالغة.
خوارزمية الصفحة الرئيسية بسيطة للغاية
تحديد حجم الصفحة العليا * من ترتيب اسم الجدول حسب المفتاح الأساسي
بالنسبة للجداول التي تحتوي على أشرطة التمرير، يتم تمرير البيانات بشكل تسلسلي صفحة تلو الأخرى خوارزمية للصفحات الجديدة هي
حدد حجم الصفحة العليا * من اسم الجدول حيث يتم تسجيل المفتاح الأساسي > المفتاح الأساسي في نهاية ترتيب الصفحة السابق حسب المفتاح الأساسي
إذا تم استخدام التخزين المؤقت، فيجب تنزيل جميع البيانات مرة واحدة فقط، وسيتم تنزيل البيانات الجديدة فقط عند التمرير إلى النهاية.
تتطلب هذه الخوارزمية معرفة المفتاح الأساسي للبيانات الموجودة في الشبكة وتطبيق بيانات المفتاح الأساسي على الترحيل؛ بالنسبة للمفاتيح الأساسية المتعددة والجداول المصنفة، تكون الخوارزمية هي نفسها، لكن البيانات أكثر تعقيدًا. لا يمكنك البدء من الصفحة الرئيسية فحسب، بل يمكنك أيضًا البدء من الصفحة الأخيرة والتمرير للأمام.
لا توجد مشكلة في أداء هذه الخوارزمية، بغض النظر عن حجم الجدول، فإن السجل الذي تم تحديد الموضع فيه هو نفسه، وهو أكثر ملاءمة لاستخدام طريقة تحديد الترحيل للصفحة الرئيسية والصفحة السابقة والصفحة التالية الصفحة الأخيرة، وهو أكثر ملاءمة لأشرطة التمرير؛ غير مناسب لترقيم الصفحات لأرقام الصفحات المحددة.
للحصول على شبكة تحتوي على أشرطة تمرير تستخدم هذه الخوارزمية، يرجى الرجوع إلى العرض التوضيحي الخاص بنا www.BizStruct.cn .
عند طرح الأسئلة، يرجى مراعاة نقطتين أولاً، وإلا فقد لا تدرك مزايا الجمع بين هذه الخوارزمية ونظامنا:
أولاً: أيهما أكثر ملاءمة، نموذج طلب C/S التقليدي أم نموذج الترحيل على الويب؟
أولاً، ما مدى اختلاف الجدول الذي يحتوي على أشرطة التمرير التي قمنا بتنفيذها عن الجدول في تطبيقات C/S التقليدية.
توضيح الرد:
ذكرت بعض الردود أنه لا يمكن تنفيذ عمليات مثل "الانتقال إلى الصفحة xx".
ولكن دعونا نفكر في الأمر، في بيئة تطبيق C/S، إذا استخدم أي شخص طريقة الانتقال إلى الصفحة هذه، فسيجدها الجميع بالتأكيد غريبة.
إن الشبكة ذات أشرطة التمرير التي قمنا بتنفيذها تكاد تكون بنفس سرعة تطبيق C/S السابق في بيئة LAN، كما أنها سريعة جدًا في بيئة WAN.
إن "الانتقال إلى صفحة XX" لتطبيقات الويب هو في الواقع الملاذ الأخير. إذا كان من الممكن تنفيذ شبكة تطبيقات C/S التقليدية، فلماذا نستخدم هذا؟