シェアポイントドキュメントライブラリ内のアイテムの数をプログラム的に取得しようとしています。私が扱っている規模は30〜7000件です。カウントを表示するスマートパーツにはユーザーコントロールがあります。私たちはTEAMサイトです。大きなシェアポイントリストの項目数を最も速く取得する
SPList VoulnterrList = web.Lists[ListTitle];
SPQuery query = new SPQuery();
query.ViewAttributes = "Scope=\"Recursive\"";
string queries = "<Where><Eq><FieldRef Name='ApprovalStatus' /><Value Type='Choice'>Pending</Value></Eq></Where>";
query.Query = queries;
SPListItemCollection lstitemcollAssoID = VoulnterrList.GetItems(query);
lblCount.Text = "Total Proofs: " + VoulnterrList.Items.Count.ToString() + " Pending Proofs: " + lstitemcollAssoID.Count.ToString();
問題は、それがページをロードするために75〜80秒を要し、この持っている深刻なパフォーマンス上の問題である:
これは、合計数を取得するためのコードです。このページをコメントすると、4秒になる。この問題
アワーズのための任意のより良いapprochではなくVoulnterrList.Items.Count
のSharePoint 2007の
はい私たちはクエリ結果に600項目ありますが、62000項目はリストにあります – sooraj
@sooraj:それはあなたがまだいることを意味しますか?問題がある? –
いいえ、私はそれを実装する、私は以前のコメントをurに応答していた。 – sooraj