سؤال

أريد الحصول على العدد الإجمالي للعناصر التي تطابق استفسالي، ولكن أيضا الحد من النتائج.

  • لذلك قل لدي 100 عنصر في القائمة.
  • 50 من 100 عنصر في القائمة تطابق استفسالي.
  • أريد الحصول على 10 فقط من 50.
  • كيف يمكنني الحصول على "50"؟

    استعلام بسيط: giveacodicetagpre.

هل كانت مفيدة؟

المحلول

هذا أمر معروف ومثل للغاية في حل المشكلة، خاصة عندما يتعلق الأمر بمحافات كبيرة من البيانات. حتى لا تلمس SharePoint، ربما لاحظت أن العديد من الأنظمة (Google مثال واضح) إرجاع العدد التقريبي فقط من العناصر المصفاة.

أساسا الشيء الوحيد الذي يمكنك القيام به هو إجراء نفس الاستعلام ولكن استبعاد الأذونات وجميع الحقول باستثناء المعرف من النتائج. لذلك من حيث SQL سيكون مثل هذا: giveacodicetagpre.

إذا كان لديك أكثر من 5 000 عنصر في القائمة (أو قيمة أخرى تتجاوز قيمة إعداد "الحد" الحد "الذي يمكنك العثور عليه في إعدادات تطبيق الويب)، فسيتعين عليك وضع جميع الحقول التي تشارك في المرشح إلى الفهرس (انظر "الأعمدة المفهرسة" الرابط على صفحة "إعدادات القائمة")، و سيتعين عليك الترشيح التخلي عن طريق الحقول التي تشبه البحث (هذه هي مجالات الأنواع التالية: البحث، البيانات الوصفية المدارة، والأشخاص والمجموعة، وحالة سير العمل).

أيضا من المستحسن الحد حتى من هذا الاستعلام من قبل بعض عدد كبير، على سبيل المثال، 100 ألف عنصر أو شيء من هذا القبيل، لذلك سيكون: giveacodicetagpre.

لذلك، كيف ستبدو تطبيقها على SPQUERY؟ giveacodicetagpre.

من فضلك، ضع في اعتبارك أنه سيؤدي إلى أداء بطيء إذا كان لديك كمية كبيرة من العناصر أو إذا كان لديك مرشح ثقيل (من حيث SQL).

نصائح أخرى

الاستعلامات في الوقت الحقيقي ضرب الأداء بقوة كبيرة هناك حقا ليست طريقة جيدة لحساب العناصر في قائمة دون تكرار من خلالها.

تضع أيضا في الاعتبار ItemCount وقائمة. ستعيد إرجاع أرقام مختلفة في بعض الحالات.

للحصول على قوائم كبيرة هناك منطقيا وراء هذا القرار: http://technet.microsoft.com/en-us/library/cc262813.aspx

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى sharepoint.stackexchange
scroll top