Bonjour,
je dois editer des listes avec des champs calculés (pas triviaux).
J'ai plusieurs possibilité faire une procedures stoquées ou bien
retravailler le resultat d'une requete dans mon applicatif.
La premiere méthode est plus rapide en temp d'accès, mais elle a 2
inconvénients.
1) je n'ai pas le moyen de savoir ou elle en est du traitement et donc
pouvoir placer une jauge.
2) je ne sais pas simplement arreter si le traitement est trop long.
Existe t'il des solutions pour pallier à ces inconvénients.
Merci.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fred BROUARD
salut,
loccitan a écrit:
Bonjour, je dois editer des listes avec des champs calculés (pas triviaux). J'ai plusieurs possibilité faire une procedures stoquées ou bien retravailler le resultat d'une requete dans mon applicatif.
La premiere méthode est plus rapide en temp d'accès, mais elle a 2 inconvénients. 1) je n'ai pas le moyen de savoir ou elle en est du traitement et donc pouvoir placer une jauge.
il existe différents moyens pour ce faire.
Par exemple en code client réaliser une jauge par thread lancé en parallèle jauge dont la mesure obéit à une règle asymptotique, par exemple 50% du temps restant en toutes les 3 secondes. Donc pas besoin de connaître la durée ni l'écoulement.
Autre possibilité jauge de type circulaire...
Mais pas plus que pour les requêtes tu as de moyen de savoir ou tu en es ! Or certaines requêtes sur de gros volume peuvent prendre quelques minutes à quelques heures !!!
2) je ne sais pas simplement arreter si le traitement est trop long.
KILL processId
Existe t'il des solutions pour pallier à ces inconvénients. Merci.
-- Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ****************** mailto: ******************
salut,
loccitan a écrit:
Bonjour,
je dois editer des listes avec des champs calculés (pas triviaux).
J'ai plusieurs possibilité faire une procedures stoquées ou bien
retravailler le resultat d'une requete dans mon applicatif.
La premiere méthode est plus rapide en temp d'accès, mais elle a 2
inconvénients.
1) je n'ai pas le moyen de savoir ou elle en est du traitement et donc
pouvoir placer une jauge.
il existe différents moyens pour ce faire.
Par exemple en code client réaliser une jauge par thread lancé en
parallèle jauge dont la mesure obéit à une règle asymptotique, par
exemple 50% du temps restant en toutes les 3 secondes.
Donc pas besoin de connaître la durée ni l'écoulement.
Autre possibilité jauge de type circulaire...
Mais pas plus que pour les requêtes tu as de moyen de savoir ou tu en es !
Or certaines requêtes sur de gros volume peuvent prendre quelques
minutes à quelques heures !!!
2) je ne sais pas simplement arreter si le traitement est trop long.
KILL processId
Existe t'il des solutions pour pallier à ces inconvénients.
Merci.
--
Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto:brouardf@club-internet.fr ******************
Bonjour, je dois editer des listes avec des champs calculés (pas triviaux). J'ai plusieurs possibilité faire une procedures stoquées ou bien retravailler le resultat d'une requete dans mon applicatif.
La premiere méthode est plus rapide en temp d'accès, mais elle a 2 inconvénients. 1) je n'ai pas le moyen de savoir ou elle en est du traitement et donc pouvoir placer une jauge.
il existe différents moyens pour ce faire.
Par exemple en code client réaliser une jauge par thread lancé en parallèle jauge dont la mesure obéit à une règle asymptotique, par exemple 50% du temps restant en toutes les 3 secondes. Donc pas besoin de connaître la durée ni l'écoulement.
Autre possibilité jauge de type circulaire...
Mais pas plus que pour les requêtes tu as de moyen de savoir ou tu en es ! Or certaines requêtes sur de gros volume peuvent prendre quelques minutes à quelques heures !!!
2) je ne sais pas simplement arreter si le traitement est trop long.
KILL processId
Existe t'il des solutions pour pallier à ces inconvénients. Merci.
-- Frédéric BROUARD, MVP Microsoft SQL Server. Langage SQL / Delphi / web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ****************** mailto: ******************
loccitan
> Par exemple en code client réaliser une jauge par thread lancé en parallèle jauge dont la mesure obéit à une règle asymptotique, par exemple 50% du temps restant en toutes les 3 secondes. Donc pas besoin de connaître la durée ni l'écoulement.
=> comment fait on pour connaitre le temps restant ?
> 2) je ne sais pas simplement arreter si le traitement est trop long.
KILL processId
=> C'est un peu trop "destructeur" je souhaiterais simplement arreter l'execution de la requete ou de ma procedure stoquée. En fait faire le Annuler l'execution de la requete de l'analyseur de requete. Merci.
> Par exemple en code client réaliser une jauge par thread lancé en
parallèle jauge dont la mesure obéit à une règle asymptotique, par
exemple 50% du temps restant en toutes les 3 secondes.
Donc pas besoin de connaître la durée ni l'écoulement.
=> comment fait on pour connaitre le temps restant ?
> 2) je ne sais pas simplement arreter si le traitement est trop long.
KILL processId
=> C'est un peu trop "destructeur" je souhaiterais simplement arreter
l'execution de la requete ou de ma procedure stoquée.
En fait faire le Annuler l'execution de la requete de l'analyseur de
requete.
Merci.
> Par exemple en code client réaliser une jauge par thread lancé en parallèle jauge dont la mesure obéit à une règle asymptotique, par exemple 50% du temps restant en toutes les 3 secondes. Donc pas besoin de connaître la durée ni l'écoulement.
=> comment fait on pour connaitre le temps restant ?
> 2) je ne sais pas simplement arreter si le traitement est trop long.
KILL processId
=> C'est un peu trop "destructeur" je souhaiterais simplement arreter l'execution de la requete ou de ma procedure stoquée. En fait faire le Annuler l'execution de la requete de l'analyseur de requete. Merci.
lionelp
Bonjour,
Si ADO alors il y a CancelBatch. Dans ODBC il y a SQLCancel.
Cordialement, LionelP
"loccitan" wrote in message news:%23F$
> Par exemple en code client réaliser une jauge par thread lancé en > parallèle jauge dont la mesure obéit à une règle asymptotique, par > exemple 50% du temps restant en toutes les 3 secondes. > Donc pas besoin de connaître la durée ni l'écoulement.
=> comment fait on pour connaitre le temps restant ?
> > > 2) je ne sais pas simplement arreter si le traitement est trop long. > > KILL processId > => C'est un peu trop "destructeur" je souhaiterais simplement arreter l'execution de la requete ou de ma procedure stoquée. En fait faire le Annuler l'execution de la requete de l'analyseur de requete. Merci.
Bonjour,
Si ADO alors il y a CancelBatch. Dans ODBC il y a SQLCancel.
Cordialement,
LionelP
"loccitan" <p.nospamboudon@laposte.net> wrote in message
news:%23F$SIkVIEHA.3720@tk2msftngp13.phx.gbl...
> Par exemple en code client réaliser une jauge par thread lancé en
> parallèle jauge dont la mesure obéit à une règle asymptotique, par
> exemple 50% du temps restant en toutes les 3 secondes.
> Donc pas besoin de connaître la durée ni l'écoulement.
=> comment fait on pour connaitre le temps restant ?
>
> > 2) je ne sais pas simplement arreter si le traitement est trop long.
>
> KILL processId
>
=> C'est un peu trop "destructeur" je souhaiterais simplement arreter
l'execution de la requete ou de ma procedure stoquée.
En fait faire le Annuler l'execution de la requete de l'analyseur de
requete.
Merci.
Si ADO alors il y a CancelBatch. Dans ODBC il y a SQLCancel.
Cordialement, LionelP
"loccitan" wrote in message news:%23F$
> Par exemple en code client réaliser une jauge par thread lancé en > parallèle jauge dont la mesure obéit à une règle asymptotique, par > exemple 50% du temps restant en toutes les 3 secondes. > Donc pas besoin de connaître la durée ni l'écoulement.
=> comment fait on pour connaitre le temps restant ?
> > > 2) je ne sais pas simplement arreter si le traitement est trop long. > > KILL processId > => C'est un peu trop "destructeur" je souhaiterais simplement arreter l'execution de la requete ou de ma procedure stoquée. En fait faire le Annuler l'execution de la requete de l'analyseur de requete. Merci.