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...
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
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.
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
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.
marie <marie.gingue@mckesson.fr> 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
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.
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
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.
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
.
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.
marie <marie.gingue@mckesson.fr> 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
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.
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