OVH Cloud OVH Cloud

Ralentissement des requêtes avec nouveaux champs

3 réponses
Avatar
Mona
Bonjour,

Je reviens avec une question que j'ai déjà posé sans réponses...

J'ai ajouté 2-3 nouveaux champs à quelques unes de mes tables et depuis,
j'ai des problèmes avec plusieurs requêtes qui prennent plus de temps que
d'habitude à rouler. C'est déjà arrivé à quelqu'un?

Merci

3 réponses

Avatar
Daniel Carollo
Bonjour Mona!

Ces champs rajoutes sont-ils utilises dans des jointures?
Sont-ils indexes?
Quel est leur type?
Les requetes concernees sont-elles des requetes d'action ou de selection?
Font-elles intervenir les tables ou les champs on ete rejoutes?
Y a-t-il des fonstions utilisees dans ces requetes?
"Plus de temps", c'est quoi? Le double du temps normal, 1 seconde de plus, 2
jours?
Avez-vous essaye de compacter la base?
Quel est l'age du capitaine?

Pour resoudre un probleme, on a en general besoin de le cerner...

--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...

"Mona" wrote in message
news:
Bonjour,

Je reviens avec une question que j'ai déjà posé sans réponses...

J'ai ajouté 2-3 nouveaux champs à quelques unes de mes tables et depuis,
j'ai des problèmes avec plusieurs requêtes qui prennent plus de temps que
d'habitude à rouler. C'est déjà arrivé à quelqu'un?

Merci


Avatar
Mona
Bonjour Daniel et les autres qui auraient envie de m'aider! :)

Les champs rajoutés ne sont jamais utilisé dans des jointures et ils ne sont
pas indexés non plus. Le type des champs est varié; Oui/Non, Texte,
Numerique, Currency.

Les requêtes qui ralentissent sont des requêtes de selection et oui elles
font intervenir les tables et/ou les champs ajoutés. Dans des Table.* par
exemple ou des fois une table est seulement là pour faire une jointure entre
2 tables et même si je ne selectionne rien de cette table, ca ralenti la
requête pareil.

Le temps à vraiment ralentit, ca peut prendre par exemple 10 secondes pour
une requête qui se faisait instantannement avant.

J'ai essayer de compacter la base et ca n'y change rien! :(

Merci de l'aide! (J'ai Access2002)

P.S: Vous pouvez pensez aux solutions bidon que je n'ai peut être pas
pensé.. je ne suis pas une pro d'Access :)



Bonjour Mona!

Ces champs rajoutes sont-ils utilises dans des jointures?
Sont-ils indexes?
Quel est leur type?
Les requetes concernees sont-elles des requetes d'action ou de selection?
Font-elles intervenir les tables ou les champs on ete rejoutes?
Y a-t-il des fonstions utilisees dans ces requetes?
"Plus de temps", c'est quoi? Le double du temps normal, 1 seconde de plus, 2
jours?
Avez-vous essaye de compacter la base?
Quel est l'age du capitaine?

Pour resoudre un probleme, on a en general besoin de le cerner...

--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...

"Mona" wrote in message
news:
Bonjour,

Je reviens avec une question que j'ai déjà posé sans réponses...

J'ai ajouté 2-3 nouveaux champs à quelques unes de mes tables et depuis,
j'ai des problèmes avec plusieurs requêtes qui prennent plus de temps que
d'habitude à rouler. C'est déjà arrivé à quelqu'un?

Merci







Avatar
Daniel Carollo
Bonjour Mona!

"Mona" wrote in message
news:
Bonjour Daniel et les autres qui auraient envie de m'aider! :)

Les champs rajoutés ne sont jamais utilisé dans des jointures et ils ne
sont

pas indexés non plus. Le type des champs est varié; Oui/Non, Texte,
Numerique, Currency.

Les requêtes qui ralentissent sont des requêtes de selection et oui elles
font intervenir les tables et/ou les champs ajoutés. Dans des Table.* par
exemple ou des fois une table est seulement là pour faire une jointure
entre

2 tables et même si je ne selectionne rien de cette table, ca ralenti la
requête pareil.


Faire un SELECT MaTable.* est une tres mauvaise idee. A la rigueur un
SELECT TOP 10 MaTable.* se fait en mode de debuggage "pour voir" ce qu'il a
dans la table quand on a oublie, mais il vaut toujours mieux recuperer le
moins possible de champs, une des raisons etant que de transferer des
donnees, ca prend du temps.
L'autre raison, un peu plus subtile, est que l'optimiseur de requetes va
essayer d'optimiser la recherche de donnees pour essayer de renvoyer
_toutes_ les donnees le plus rapidement possible, et qu'il y aurait
peut-etre un moyen plus rapide encore si certaines colonnes ne faisaient pas
partie des resultats.

Le temps à vraiment ralentit, ca peut prendre par exemple 10 secondes pour
une requête qui se faisait instantannement avant.


Qui a dit que ca se faisait instantanement? J'espere que ce n'est pas
l'utilisateur... En general, les utilisateurs ont des perceptions qui
collent rarement a la realite quand il s'agit d'avoir une echelle de temps
objective. Je ne sais pas combien de fois j'ai dit "J'ai attendu plus de
cinq minutes au feu rouge"...

J'ai essayer de compacter la base et ca n'y change rien! :(

Merci de l'aide! (J'ai Access2002)

P.S: Vous pouvez pensez aux solutions bidon que je n'ai peut être pas
pensé.. je ne suis pas une pro d'Access :)


En general, on evite les solutions bidons...

Quand je serai grand, je serai un pro, mais la je suis encore petit alors je
peux vous suggerer une manip que je ferais en dernier recours: importer tout
dans une nouvelle base.

Au fait, votre base est-elle scindee en frontal et dorsal?

J'espere que ca vous aide a progresser un peu...

--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...