SPListItemCollection.Count hyper lent

Le
bboule
Bonsoir tout le monde

J'ai un WebPart qui me permet d'afficher des données d'une liste
(15000 éléments à récupéré !), mais j'ai un gros souci avec !

SPListItemCollection wlItems = wMyList.Items;

int wNbItems = wlItems.Count;

et bien ma dernière ligne prend entre 20 et 30 secondes pour
s'afficher !
Est-ce que quelqu'un a une idée pour résoudre ce problème ?
et s'il vous plait, pas de réponse qui me dirait d'utiliser CAML, j'ai
besoin de toutes mes données pour les traiter après !

Une idée ?

Meilleures Salutations
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Lognoul, Marc \(Private\)
Le #18156551
Bonsoir,

15.000 rows, c'est une taille respectable à l'échelle SharePoint ;)
Le white paper suivant vous aidera à déterminer le code le plus efficace
pour itérer dans les résultats: "Working with large lists in Office
SharePoint® Server 2007"
(http://go.microsoft.com/fwlink/?LinkId•450&clcid=0x409) mais il ne
contient pas de guidance concernant la propriété "count".

--
Marc
[Heureux celui qui a pu pénétrer les causes secrètes des choses]
[Blog: http://www.marc-antho-etc.net/blog/]




news:
Bonsoir tout le monde

J'ai un WebPart qui me permet d'afficher des données d'une liste
(15000 éléments à récupéré !), mais j'ai un gros souci avec !

SPListItemCollection wlItems = wMyList.Items;

int wNbItems = wlItems.Count;

et bien ma dernière ligne prend entre 20 et 30 secondes pour
s'afficher !
Est-ce que quelqu'un a une idée pour résoudre ce problème ?
et s'il vous plait, pas de réponse qui me dirait d'utiliser CAML, j'ai
besoin de toutes mes données pour les traiter après !

Une idée ?

Meilleures Salutations


Cédric Petter
Le #18160601
Bonjour

Merci Marc pour cette réponse !
Je vais voir du côté du DataTable !
J'espère que ca sera aussi rapide que dans leur tests !

Meilleures Salutations

Cédric

On 16 déc, 18:07, "Lognoul, Marc (Private)" wrote:
Bonsoir,

15.000 rows, c'est une taille respectable à l'échelle SharePoint ;)
Le white paper suivant vous aidera à déterminer le code le plus effic ace
pour itérer dans les résultats: "Working with large lists in Office
SharePoint® Server 2007"
(http://go.microsoft.com/fwlink/?LinkId•450&clcid=0x409) mais il ne
contient pas de guidance concernant la propriété "count".

--
Marc
[Heureux celui qui a pu pénétrer les causes secrètes des choses]
[Blog:http://www.marc-antho-etc.net/blog/]


news:



> Bonsoir tout le monde

> J'ai un WebPart qui me permet d'afficher des données d'une liste
> (15000 éléments à récupéré !), mais j'ai un gros souci avec !

> SPListItemCollection wlItems = wMyList.Items;

> int wNbItems = wlItems.Count;

> et bien ma dernière ligne prend entre 20 et 30 secondes pour
> s'afficher !
> Est-ce que quelqu'un a une idée pour résoudre ce problème ?
> et s'il vous plait, pas de réponse qui me dirait d'utiliser CAML, j'a i
> besoin de toutes mes données pour les traiter après !

> Une idée ?

> Meilleures Salutations- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Cédric Petter
Le #18160771
Bon ben ca marche pas mieux !
Voilà le code que j'ai posé :

SPListItemCollection wlItems = wMyList.Items;
DataTable wTable = wlItems.GetDataTable();

et bien cette fois ce n'est pas le Count qui prend du temps, mais le
GetDataTable !
et au lieu de 20 - 30 secondes c'est 30 à 40 secondes qui sont perdues
à ce moment là !!

Une autre idée ?

Meilleures Salutations

Cédric

On 17 déc, 08:00, Cédric Petter
Bonjour

Merci Marc pour cette réponse !
Je vais voir du côté du DataTable !
J'espère que ca sera aussi rapide que dans leur tests !

Meilleures Salutations

Cédric

On 16 déc, 18:07, "Lognoul, Marc (Private)" wrote:



> Bonsoir,

> 15.000 rows, c'est une taille respectable à l'échelle SharePoint ;)
> Le white paper suivant vous aidera à déterminer le code le plus eff icace
> pour itérer dans les résultats: "Working with large lists in Office
> SharePoint® Server 2007"
> (http://go.microsoft.com/fwlink/?LinkId•450&clcid=0x409) mais il ne
> contient pas de guidance concernant la propriété "count".

> --
> Marc
> [Heureux celui qui a pu pénétrer les causes secrètes des choses]
> [Blog:http://www.marc-antho-etc.net/blog/]

>
>news: .

> > Bonsoir tout le monde

> > J'ai un WebPart qui me permet d'afficher des données d'une liste
> > (15000 éléments à récupéré !), mais j'ai un gros souci av ec !

> > SPListItemCollection wlItems = wMyList.Items;

> > int wNbItems = wlItems.Count;

> > et bien ma dernière ligne prend entre 20 et 30 secondes pour
> > s'afficher !
> > Est-ce que quelqu'un a une idée pour résoudre ce problème ?
> > et s'il vous plait, pas de réponse qui me dirait d'utiliser CAML, j 'ai
> > besoin de toutes mes données pour les traiter après !

> > Une idée ?

> > Meilleures Salutations- Masquer le texte des messages précédents -

> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


e.issaly
Le #18160881
Ca fait longtemps que je n'ai pas codé, mais ca me parait un cas
d'école ou il faut faire deux threads :)

une qui remplit en tache de fond
une qui affiche des pages en consommant les données de 1)

Bref, de l'asynchrone.

On 17 déc, 08:19, Cédric Petter
Bon ben ca marche pas mieux !
Voilà le code que j'ai posé :

SPListItemCollection wlItems = wMyList.Items;
DataTable wTable = wlItems.GetDataTable();

et bien cette fois ce n'est pas le Count qui prend du temps, mais le
GetDataTable !
et au lieu de 20 - 30 secondes c'est 30 à 40 secondes qui sont perdues
à ce moment là !!

Une autre idée ?

Meilleures Salutations

Cédric

On 17 déc, 08:00, Cédric Petter


> Bonjour

> Merci Marc pour cette réponse !
> Je vais voir du côté du DataTable !
> J'espère que ca sera aussi rapide que dans leur tests !

> Meilleures Salutations

> Cédric

> On 16 déc, 18:07, "Lognoul, Marc (Private)" > wrote:

> > Bonsoir,

> > 15.000 rows, c'est une taille respectable à l'échelle SharePoint ;)
> > Le white paper suivant vous aidera à déterminer le code le plus e fficace
> > pour itérer dans les résultats: "Working with large lists in Offi ce
> > SharePoint® Server 2007"
> > (http://go.microsoft.com/fwlink/?LinkId•450&clcid=0x409) mais i l ne
> > contient pas de guidance concernant la propriété "count".

> > --
> > Marc
> > [Heureux celui qui a pu pénétrer les causes secrètes des choses ]
> > [Blog:http://www.marc-antho-etc.net/blog/]

> >
> >news: ...

> > > Bonsoir tout le monde

> > > J'ai un WebPart qui me permet d'afficher des données d'une liste
> > > (15000 éléments à récupéré !), mais j'ai un gros souci avec !

> > > SPListItemCollection wlItems = wMyList.Items;

> > > int wNbItems = wlItems.Count;

> > > et bien ma dernière ligne prend entre 20 et 30 secondes pour
> > > s'afficher !
> > > Est-ce que quelqu'un a une idée pour résoudre ce problème ?
> > > et s'il vous plait, pas de réponse qui me dirait d'utiliser CAML, j'ai
> > > besoin de toutes mes données pour les traiter après !

> > > Une idée ?

> > > Meilleures Salutations- Masquer le texte des messages précédent s -

> > - Afficher le texte des messages précédents -- Masquer le texte d es messages précédents -

> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Cédric Petter
Le #18162181
Merci pour cette réponse !
tu n'aurais un bout de code qui me montre comment faire ?
Je n'ai pas la moindre idée du coment de la chose m'y prendre !

Salutations

Cédric

On 17 déc, 08:59, wrote:
Ca fait longtemps que je n'ai pas codé, mais ca me parait un cas
d'école ou il faut faire deux threads :)

une qui remplit en tache de fond
une qui affiche des pages en consommant les données de 1)

Bref, de l'asynchrone.

On 17 déc, 08:19, Cédric Petter


> Bon ben ca marche pas mieux !
> Voilà le code que j'ai posé :

> SPListItemCollection wlItems = wMyList.Items;
> DataTable wTable = wlItems.GetDataTable();

> et bien cette fois ce n'est pas le Count qui prend du temps, mais le
> GetDataTable !
> et au lieu de 20 - 30 secondes c'est 30 à 40 secondes qui sont perdue s
> à ce moment là !!

> Une autre idée ?

> Meilleures Salutations

> Cédric

> On 17 déc, 08:00, Cédric Petter
> > Bonjour

> > Merci Marc pour cette réponse !
> > Je vais voir du côté du DataTable !
> > J'espère que ca sera aussi rapide que dans leur tests !

> > Meilleures Salutations

> > Cédric

> > On 16 déc, 18:07, "Lognoul, Marc (Private)" > > wrote:

> > > Bonsoir,

> > > 15.000 rows, c'est une taille respectable à l'échelle SharePoin t ;)
> > > Le white paper suivant vous aidera à déterminer le code le plus efficace
> > > pour itérer dans les résultats: "Working with large lists in Of fice
> > > SharePoint® Server 2007"
> > > (http://go.microsoft.com/fwlink/?LinkId•450&clcid=0x409) mais il ne
> > > contient pas de guidance concernant la propriété "count".

> > > --
> > > Marc
> > > [Heureux celui qui a pu pénétrer les causes secrètes des chos es]
> > > [Blog:http://www.marc-antho-etc.net/blog/]

> > >
> > >news: om...

> > > > Bonsoir tout le monde

> > > > J'ai un WebPart qui me permet d'afficher des données d'une list e
> > > > (15000 éléments à récupéré !), mais j'ai un gros souc i avec !

> > > > SPListItemCollection wlItems = wMyList.Items;

> > > > int wNbItems = wlItems.Count;

> > > > et bien ma dernière ligne prend entre 20 et 30 secondes pour
> > > > s'afficher !
> > > > Est-ce que quelqu'un a une idée pour résoudre ce problème ?
> > > > et s'il vous plait, pas de réponse qui me dirait d'utiliser CAM L, j'ai
> > > > besoin de toutes mes données pour les traiter après !

> > > > Une idée ?

> > > > Meilleures Salutations- Masquer le texte des messages précéde nts -

> > > - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -

> > - Afficher le texte des messages précédents -- Masquer le texte d es messages précédents -

> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Lognoul, Marc \(Private\)
Le #18164771
Est-il nécessaire de récupérer les 15000 éléments d'un coup?
Si non, vous pouvez tenter de paginer les résultats.
Si oui, vous pouvez afficher un message de mise en attente pendant le
traitement et une fois le traitement fini, afficher les résultats.

--
Marc
[Heureux celui qui a pu pénétrer les causes secrètes des choses]
[Blog: http://www.marc-antho-etc.net/blog/]

news:
Ca fait longtemps que je n'ai pas codé, mais ca me parait un cas
d'école ou il faut faire deux threads :)

une qui remplit en tache de fond
une qui affiche des pages en consommant les données de 1)

Bref, de l'asynchrone.

On 17 déc, 08:19, Cédric Petter
Bon ben ca marche pas mieux !
Voilà le code que j'ai posé :

SPListItemCollection wlItems = wMyList.Items;
DataTable wTable = wlItems.GetDataTable();

et bien cette fois ce n'est pas le Count qui prend du temps, mais le
GetDataTable !
et au lieu de 20 - 30 secondes c'est 30 à 40 secondes qui sont perdues
à ce moment là !!

Une autre idée ?

Meilleures Salutations

Cédric

On 17 déc, 08:00, Cédric Petter


> Bonjour

> Merci Marc pour cette réponse !
> Je vais voir du côté du DataTable !
> J'espère que ca sera aussi rapide que dans leur tests !

> Meilleures Salutations

> Cédric

> On 16 déc, 18:07, "Lognoul, Marc (Private)" > wrote:

> > Bonsoir,

> > 15.000 rows, c'est une taille respectable à l'échelle SharePoint ;)
> > Le white paper suivant vous aidera à déterminer le code le plus
> > efficace
> > pour itérer dans les résultats: "Working with large lists in Office
> > SharePoint® Server 2007"
> > (http://go.microsoft.com/fwlink/?LinkId•450&clcid=0x409) mais il ne
> > contient pas de guidance concernant la propriété "count".

> > --
> > Marc
> > [Heureux celui qui a pu pénétrer les causes secrètes des choses]
> > [Blog:http://www.marc-antho-etc.net/blog/]

> >
> >news:

> > > Bonsoir tout le monde

> > > J'ai un WebPart qui me permet d'afficher des données d'une liste
> > > (15000 éléments à récupéré !), mais j'ai un gros souci avec !

> > > SPListItemCollection wlItems = wMyList.Items;

> > > int wNbItems = wlItems.Count;

> > > et bien ma dernière ligne prend entre 20 et 30 secondes pour
> > > s'afficher !
> > > Est-ce que quelqu'un a une idée pour résoudre ce problème ?
> > > et s'il vous plait, pas de réponse qui me dirait d'utiliser CAML,
> > > j'ai
> > > besoin de toutes mes données pour les traiter après !

> > > Une idée ?

> > > Meilleures Salutations- Masquer le texte des messages précédents -

> > - Afficher le texte des messages précédents -- Masquer le texte des
> > messages précédents -

> - Afficher le texte des messages précédents -- Masquer le texte des
> messages précédents -

- Afficher le texte des messages précédents -





Publicité
Poster une réponse
Anonyme