bonjour,
je viens de passer les data's de ma base Access sur une base de données
(Postgres) et j'accède à cette base via un lien ODBC. Tout marche
correctement sauf que sur la recherche d'une fiche, les temps sont
horriblement longs. En traçant un peu, je constate que Access balaye
séquentiellement la table jusqu'à trouver l'occurrence désirée. Comme
j'ai 13000 enregistrements, j'ai un trafic réseau très conséquent.
Comment faire pour qu'il fasse le select * from individu where
name='Desage' et ne rende que ce résultat.
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
Arnaud [lwa]
Bonjour Eric Desage,
| bonjour, | Comme j'ai 13000 enregistrements, j'ai un trafic réseau très | conséquent. Comment faire pour qu'il fasse le select * from individu | where name='Desage' et ne rende que ce résultat. | Merci,
tu n'as qu'un seul critère et sans astérisque ? autrement dit ta recherche est
where name='Desage'
mais jamais
where name like "*" & 'Desage' & "*"
ni encore
where name='Desage' or name = 'Dupond'
Dans ce cas, vérifier que le champ "name" est bien indexé (très mauvais nom de champ ça, préférer ContactName par exemple)
-- Arnaud -------------------------------------------------- Conseils d'utilisation : http://users.skynet.be/mpfa/ Site Perso : http://memoaccess.free.fr /Réponses souhaitées sur ce forum, merci/ --------------------------------------------------
Bonjour Eric Desage,
| bonjour,
| Comme j'ai 13000 enregistrements, j'ai un trafic réseau très
| conséquent. Comment faire pour qu'il fasse le select * from individu
| where name='Desage' et ne rende que ce résultat.
| Merci,
tu n'as qu'un seul critère et sans astérisque ?
autrement dit ta recherche est
where name='Desage'
mais jamais
where name like "*" & 'Desage' & "*"
ni encore
where name='Desage' or name = 'Dupond'
Dans ce cas, vérifier que le champ "name" est bien indexé
(très mauvais nom de champ ça, préférer ContactName par exemple)
--
Arnaud
--------------------------------------------------
Conseils d'utilisation : http://users.skynet.be/mpfa/
Site Perso : http://memoaccess.free.fr
/Réponses souhaitées sur ce forum, merci/
--------------------------------------------------
| bonjour, | Comme j'ai 13000 enregistrements, j'ai un trafic réseau très | conséquent. Comment faire pour qu'il fasse le select * from individu | where name='Desage' et ne rende que ce résultat. | Merci,
tu n'as qu'un seul critère et sans astérisque ? autrement dit ta recherche est
where name='Desage'
mais jamais
where name like "*" & 'Desage' & "*"
ni encore
where name='Desage' or name = 'Dupond'
Dans ce cas, vérifier que le champ "name" est bien indexé (très mauvais nom de champ ça, préférer ContactName par exemple)
-- Arnaud -------------------------------------------------- Conseils d'utilisation : http://users.skynet.be/mpfa/ Site Perso : http://memoaccess.free.fr /Réponses souhaitées sur ce forum, merci/ --------------------------------------------------
Benoit
Bonjour,
je ne connais pas Postgres mais je travaille avec SQL SERVER et access. Si tu utilises des tables liées, access remonte tous les enregistrements avant de sélectionner le bon enregistrement. Je travaille en requête spécifique/SQL direct. Ensuite je paramètre la requête grâce à un querydefs (SELECT * FROM table WHERE ma condition). Dans ce cas, seules les données triées remontent et le réseau est moins chargé. C'est une solution qui fonctionne avec SQL server via un lien ODBC avec Postgres je ne sais pas, mais c'est peut être une piste à explorer. -- Benoit
"Eric Desage" a écrit dans le message de news:4109fe04$0$24054$
bonjour, je viens de passer les data's de ma base Access sur une base de données (Postgres) et j'accède à cette base via un lien ODBC. Tout marche correctement sauf que sur la recherche d'une fiche, les temps sont horriblement longs. En traçant un peu, je constate que Access balaye séquentiellement la table jusqu'à trouver l'occurrence désirée. Comme j'ai 13000 enregistrements, j'ai un trafic réseau très conséquent. Comment faire pour qu'il fasse le select * from individu where name='Desage' et ne rende que ce résultat. Merci,
Bonjour,
je ne connais pas Postgres mais je travaille avec SQL SERVER et access. Si
tu utilises des tables liées, access remonte tous les enregistrements avant
de sélectionner le bon enregistrement. Je travaille en requête
spécifique/SQL direct. Ensuite je paramètre la requête grâce à un querydefs
(SELECT * FROM table WHERE ma condition). Dans ce cas, seules les données
triées remontent et le réseau est moins chargé.
C'est une solution qui fonctionne avec SQL server via un lien ODBC avec
Postgres je ne sais pas, mais c'est peut être une piste à explorer.
--
Benoit
"Eric Desage" <dieu@joseparedes.com> a écrit dans le message de
news:4109fe04$0$24054$626a14ce@news.free.fr...
bonjour,
je viens de passer les data's de ma base Access sur une base de données
(Postgres) et j'accède à cette base via un lien ODBC. Tout marche
correctement sauf que sur la recherche d'une fiche, les temps sont
horriblement longs. En traçant un peu, je constate que Access balaye
séquentiellement la table jusqu'à trouver l'occurrence désirée. Comme
j'ai 13000 enregistrements, j'ai un trafic réseau très conséquent.
Comment faire pour qu'il fasse le select * from individu where
name='Desage' et ne rende que ce résultat.
Merci,
je ne connais pas Postgres mais je travaille avec SQL SERVER et access. Si tu utilises des tables liées, access remonte tous les enregistrements avant de sélectionner le bon enregistrement. Je travaille en requête spécifique/SQL direct. Ensuite je paramètre la requête grâce à un querydefs (SELECT * FROM table WHERE ma condition). Dans ce cas, seules les données triées remontent et le réseau est moins chargé. C'est une solution qui fonctionne avec SQL server via un lien ODBC avec Postgres je ne sais pas, mais c'est peut être une piste à explorer. -- Benoit
"Eric Desage" a écrit dans le message de news:4109fe04$0$24054$
bonjour, je viens de passer les data's de ma base Access sur une base de données (Postgres) et j'accède à cette base via un lien ODBC. Tout marche correctement sauf que sur la recherche d'une fiche, les temps sont horriblement longs. En traçant un peu, je constate que Access balaye séquentiellement la table jusqu'à trouver l'occurrence désirée. Comme j'ai 13000 enregistrements, j'ai un trafic réseau très conséquent. Comment faire pour qu'il fasse le select * from individu where name='Desage' et ne rende que ce résultat. Merci,