OVH Cloud OVH Cloud

optimisation de requêtes

2 réponses
Avatar
marie
Bonjour,

Auriez vous des astuces pour optimiser les requ=EAtes sous=20
Access du style faire les jointures sur des index ou=20
autres ?=20

J'ai une bd Access avec un certain nombre de tables Oracle=20
attach=E9es et une quantit=E9 de donn=E9es =E9normes =E0 manipuler.=20
J'ai d=E9velopp=E9 plusieurs requ=EAtes qui marchaient sur une=20
base de test (c'est =E0 dire avec une beaucoup plus petite=20
quantit=E9 de donn=E9es) mais lorsque je les applique sur ma=20
base Oracle r=E9elle, =E7a se bloque (erreur "ODBC failed").

Je vais red=E9composer mes requ=EAtes en plus petites sous=20
requ=EAtes mais si vous aviez d'autres id=E9es, je les=20
prendrais volontiers...

Merci

Marie

2 réponses

Avatar
Anor
Bonjour marie

La première des choses à faire est de regarder quels champs sont à considérer comme clé primaire
et quels champs sont utilisés commes clés externes (dans les relations) + quels champs sont
utilisés dans les conditions WHERE des requêtes qui interrogent les données.

Tous ces champs sont à indexer sans doublons (clés primaires) ou à indexer avec doublons.

Mais pas plus car trop d'indexes nuit à la performance car alourdit la base inutilement.


--
à+
Arnaud
--------------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
--------------------------------------------------


marie a confié :
| Bonjour,
|
| Auriez vous des astuces pour optimiser les requêtes sous
| Access du style faire les jointures sur des index ou
| autres ?
|
| J'ai une bd Access avec un certain nombre de tables Oracle
| attachées et une quantité de données énormes à manipuler.
| J'ai développé plusieurs requêtes qui marchaient sur une
| base de test (c'est à dire avec une beaucoup plus petite
| quantité de données) mais lorsque je les applique sur ma
| base Oracle réelle, ça se bloque (erreur "ODBC failed").
|
| Je vais redécomposer mes requêtes en plus petites sous
| requêtes mais si vous aviez d'autres idées, je les
| prendrais volontiers...
|
| Merci
|
| Marie
Avatar
Marie
Salut Arnaud,

Merci pour ta réponse. Par contre j'aurai besoin d'un
autre conseil : chacune de mes sous requêtes créait et
remplissait une table temporaire sur laquelle était basée
la sous requête suivante. Pour que ce soit plus rapide, je
voulais créer en dur ces tables une bonne fois pour toutes
et les indexer, ensuite mes requêtes feraient des insert
dans ces tables. Est ce que tu crois qu'il vaut mieux que
j'exécute ma requête, que je lise le résultat et que je
l'insert dans la table ou bien que je fasse
l'insert/select dans une seule et même requête ? Je ne
sais pas si je suis très claire.

a+

Marie


-----Message d'origine-----
Bonjour marie

La première des choses à faire est de regarder quels
champs sont à considérer comme clé primaire

et quels champs sont utilisés commes clés externes (dans
les relations) + quels champs sont

utilisés dans les conditions WHERE des requêtes qui
interrogent les données.


Tous ces champs sont à indexer sans doublons (clés
primaires) ou à indexer avec doublons.


Mais pas plus car trop d'indexes nuit à la performance
car alourdit la base inutilement.



--
à+
Arnaud
--------------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
--------------------------------------------------


marie a confié :
| Bonjour,
|
| Auriez vous des astuces pour optimiser les requêtes sous
| Access du style faire les jointures sur des index ou
| autres ?
|
| J'ai une bd Access avec un certain nombre de tables
Oracle

| attachées et une quantité de données énormes à
manipuler.

| J'ai développé plusieurs requêtes qui marchaient sur une
| base de test (c'est à dire avec une beaucoup plus petite
| quantité de données) mais lorsque je les applique sur ma
| base Oracle réelle, ça se bloque (erreur "ODBC failed").
|
| Je vais redécomposer mes requêtes en plus petites sous
| requêtes mais si vous aviez d'autres idées, je les
| prendrais volontiers...
|
| Merci
|
| Marie


.