Bonjour Guy!
Juste pour complementer un peu la reponse de Gael.... :-)
Si Jet peut utiliser un index sur la (ou les) table(s) concernees, alors
5000 valeurs d'index (au maximum) vont transiter sur le fil, et les champs
necessaires des 100 enregistrements. C'est la qu'on s'appercoit que c'est
utile d'avoir des bons index.
Je dis 5000 au maximum, car Rushmore permet d'eliminer de grosses portions
de la table qui ne correspondent pas au critere.
Si par contre la requete est faite de telle maniere qu'elle force Jet a
faire un "table scan", alors les 5000 champs sur lesquels se fait la
selection vont passer sur le fil. C'est le cas quand on utilise des
calculs
ou des fonctions dans la clause WHERE, comme par exemple "WHERE
Left(MonChamp, 1) = 'A'. Quel que soit l'indexage utilise sur cette table,
les 5000 MonChamp vont etre evalues en local.
Le dernier point a ce sujet concerne le cache que Jet maintient sur la
machine locale. Dans certaines conditions, Access n'aura pas a aller
rechercher les index ou les enregistrements, ce qui supprime un
aller-retour
sur le fil.
Si vous voulez des informations plus detaillees, ma reference en la
matiere
depuis la version 95 d'Access est l'excellent livre de Dan Haught et Jim
Fergusson : Jet Database Engine Programmer's Guide, qui etait disponible
en
ligne sur msdn, mais que je n'arrive plus a trouver :-(
J'espere que ca vous donne quelques pointeurs...
--
Daniel :-)
Computing Technologies International - www.computing-tech.com - We
provide solutions...
"Guy" wrote in message
news:0a8801c39e07$d2ba99f0$
Bonjour à tous,
J'ai un DB Access 97 sur un serveur. Une appli client
fait appelle à cette DB via des requêtes.
Question:
Sachant qu'Access ne fonctionne ni comme SQL Server ni
comme Oracle, si une table contient 5000 records et que je
lance une requête (SELECT) via l'application ne demandant
que 100 records en retour, qu'est-ce qui transite sur le
réseau ? Les 5000 records pour être traités en local ou
seulement le 100 records demandés ?
Je n'ai jamais eu de réponses bien précises à ce sujet ou
alors qui se contredisent. Pouvez-vous m'éclairer très
précisément ?
Merci à tous.
Guy
Bonjour Guy!
Juste pour complementer un peu la reponse de Gael.... :-)
Si Jet peut utiliser un index sur la (ou les) table(s) concernees, alors
5000 valeurs d'index (au maximum) vont transiter sur le fil, et les champs
necessaires des 100 enregistrements. C'est la qu'on s'appercoit que c'est
utile d'avoir des bons index.
Je dis 5000 au maximum, car Rushmore permet d'eliminer de grosses portions
de la table qui ne correspondent pas au critere.
Si par contre la requete est faite de telle maniere qu'elle force Jet a
faire un "table scan", alors les 5000 champs sur lesquels se fait la
selection vont passer sur le fil. C'est le cas quand on utilise des
calculs
ou des fonctions dans la clause WHERE, comme par exemple "WHERE
Left(MonChamp, 1) = 'A'. Quel que soit l'indexage utilise sur cette table,
les 5000 MonChamp vont etre evalues en local.
Le dernier point a ce sujet concerne le cache que Jet maintient sur la
machine locale. Dans certaines conditions, Access n'aura pas a aller
rechercher les index ou les enregistrements, ce qui supprime un
aller-retour
sur le fil.
Si vous voulez des informations plus detaillees, ma reference en la
matiere
depuis la version 95 d'Access est l'excellent livre de Dan Haught et Jim
Fergusson : Jet Database Engine Programmer's Guide, qui etait disponible
en
ligne sur msdn, mais que je n'arrive plus a trouver :-(
J'espere que ca vous donne quelques pointeurs...
--
Daniel :-)
Computing Technologies International - www.computing-tech.com - We
provide solutions...
"Guy" <anonymous@discussions.microsoft.com> wrote in message
news:0a8801c39e07$d2ba99f0$a301280a@phx.gbl...
Bonjour à tous,
J'ai un DB Access 97 sur un serveur. Une appli client
fait appelle à cette DB via des requêtes.
Question:
Sachant qu'Access ne fonctionne ni comme SQL Server ni
comme Oracle, si une table contient 5000 records et que je
lance une requête (SELECT) via l'application ne demandant
que 100 records en retour, qu'est-ce qui transite sur le
réseau ? Les 5000 records pour être traités en local ou
seulement le 100 records demandés ?
Je n'ai jamais eu de réponses bien précises à ce sujet ou
alors qui se contredisent. Pouvez-vous m'éclairer très
précisément ?
Merci à tous.
Guy
Bonjour Guy!
Juste pour complementer un peu la reponse de Gael.... :-)
Si Jet peut utiliser un index sur la (ou les) table(s) concernees, alors
5000 valeurs d'index (au maximum) vont transiter sur le fil, et les champs
necessaires des 100 enregistrements. C'est la qu'on s'appercoit que c'est
utile d'avoir des bons index.
Je dis 5000 au maximum, car Rushmore permet d'eliminer de grosses portions
de la table qui ne correspondent pas au critere.
Si par contre la requete est faite de telle maniere qu'elle force Jet a
faire un "table scan", alors les 5000 champs sur lesquels se fait la
selection vont passer sur le fil. C'est le cas quand on utilise des
calculs
ou des fonctions dans la clause WHERE, comme par exemple "WHERE
Left(MonChamp, 1) = 'A'. Quel que soit l'indexage utilise sur cette table,
les 5000 MonChamp vont etre evalues en local.
Le dernier point a ce sujet concerne le cache que Jet maintient sur la
machine locale. Dans certaines conditions, Access n'aura pas a aller
rechercher les index ou les enregistrements, ce qui supprime un
aller-retour
sur le fil.
Si vous voulez des informations plus detaillees, ma reference en la
matiere
depuis la version 95 d'Access est l'excellent livre de Dan Haught et Jim
Fergusson : Jet Database Engine Programmer's Guide, qui etait disponible
en
ligne sur msdn, mais que je n'arrive plus a trouver :-(
J'espere que ca vous donne quelques pointeurs...
--
Daniel :-)
Computing Technologies International - www.computing-tech.com - We
provide solutions...
"Guy" wrote in message
news:0a8801c39e07$d2ba99f0$
Bonjour à tous,
J'ai un DB Access 97 sur un serveur. Une appli client
fait appelle à cette DB via des requêtes.
Question:
Sachant qu'Access ne fonctionne ni comme SQL Server ni
comme Oracle, si une table contient 5000 records et que je
lance une requête (SELECT) via l'application ne demandant
que 100 records en retour, qu'est-ce qui transite sur le
réseau ? Les 5000 records pour être traités en local ou
seulement le 100 records demandés ?
Je n'ai jamais eu de réponses bien précises à ce sujet ou
alors qui se contredisent. Pouvez-vous m'éclairer très
précisément ?
Merci à tous.
Guy
Bonjour Daniel,
Ne serait ce pas de ce lien dont tu parlais ?
http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/sql/proddocs/msjet/jetch04.asp
Gael.
Bonjour Daniel,
Ne serait ce pas de ce lien dont tu parlais ?
http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/sql/proddocs/msjet/jetch04.asp
Gael.
Bonjour Daniel,
Ne serait ce pas de ce lien dont tu parlais ?
http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/sql/proddocs/msjet/jetch04.asp
Gael.
Bonjour Gael!
Ca a l'air d'etre celui-ci, en effet, bien qu'il n'y ait aucune mention
des
auteurs du livre. Je l'avais achete quand Access 95 etait sorti, puis la
version mise a jour pour Jet 3.5 a la sortie d'Access 97. Les chapitres
disponibles en ligne sont d'une lecture essentielle, mais il y a aussi
beaucoup d'information dans les chapitres suivants, en particulier le
chapitre 13 sur la performance...
Je n'ai pas les livres physiques avec moi (je bouge trop), mais s'il y
avait
une nouvelle version pour Jet 4, ce serait un tres bon investissement pour
ceux qui aiment savoir ce qu'il y a sous le capot, et comment ca marche.
J'ai appris quelque chose aujourd'hui: une recherche sur MSDN ne couvre
pas
le contenu de technet :-(
Si tu travailles pour microsoft, pourais-tu te renseigner si Jim et Dan
ont
l'intention d'ecrire une nouvelle version, ou peut-etre y a-t-il un
bouquin
du genre "Inside SQL Server", mais pour Access/Jet...
A bientot.
--
Daniel :-)
Computing Technologies International - www.computing-tech.com - We
provide solutions...
"Gaël Schmitt" wrote in message
news:Bonjour Daniel,
Ne serait ce pas de ce lien dont tu parlais ?
http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/sql/proddocs/msjet/jetch04.asp
Gael.
Bonjour Gael!
Ca a l'air d'etre celui-ci, en effet, bien qu'il n'y ait aucune mention
des
auteurs du livre. Je l'avais achete quand Access 95 etait sorti, puis la
version mise a jour pour Jet 3.5 a la sortie d'Access 97. Les chapitres
disponibles en ligne sont d'une lecture essentielle, mais il y a aussi
beaucoup d'information dans les chapitres suivants, en particulier le
chapitre 13 sur la performance...
Je n'ai pas les livres physiques avec moi (je bouge trop), mais s'il y
avait
une nouvelle version pour Jet 4, ce serait un tres bon investissement pour
ceux qui aiment savoir ce qu'il y a sous le capot, et comment ca marche.
J'ai appris quelque chose aujourd'hui: une recherche sur MSDN ne couvre
pas
le contenu de technet :-(
Si tu travailles pour microsoft, pourais-tu te renseigner si Jim et Dan
ont
l'intention d'ecrire une nouvelle version, ou peut-etre y a-t-il un
bouquin
du genre "Inside SQL Server", mais pour Access/Jet...
A bientot.
--
Daniel :-)
Computing Technologies International - www.computing-tech.com - We
provide solutions...
"Gaël Schmitt" <gaels@online.microsoft.com> wrote in message
news:eBKgiRhnDHA.1728@TK2MSFTNGP09.phx.gbl...
Bonjour Daniel,
Ne serait ce pas de ce lien dont tu parlais ?
http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/sql/proddocs/msjet/jetch04.asp
Gael.
Bonjour Gael!
Ca a l'air d'etre celui-ci, en effet, bien qu'il n'y ait aucune mention
des
auteurs du livre. Je l'avais achete quand Access 95 etait sorti, puis la
version mise a jour pour Jet 3.5 a la sortie d'Access 97. Les chapitres
disponibles en ligne sont d'une lecture essentielle, mais il y a aussi
beaucoup d'information dans les chapitres suivants, en particulier le
chapitre 13 sur la performance...
Je n'ai pas les livres physiques avec moi (je bouge trop), mais s'il y
avait
une nouvelle version pour Jet 4, ce serait un tres bon investissement pour
ceux qui aiment savoir ce qu'il y a sous le capot, et comment ca marche.
J'ai appris quelque chose aujourd'hui: une recherche sur MSDN ne couvre
pas
le contenu de technet :-(
Si tu travailles pour microsoft, pourais-tu te renseigner si Jim et Dan
ont
l'intention d'ecrire une nouvelle version, ou peut-etre y a-t-il un
bouquin
du genre "Inside SQL Server", mais pour Access/Jet...
A bientot.
--
Daniel :-)
Computing Technologies International - www.computing-tech.com - We
provide solutions...
"Gaël Schmitt" wrote in message
news:Bonjour Daniel,
Ne serait ce pas de ce lien dont tu parlais ?
http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/sql/proddocs/msjet/jetch04.asp
Gael.
-----Message d'origine-----
Bonjour à tous,
J'ai un DB Access 97 sur un serveur. Une appli client
fait appelle à cette DB via des requêtes.
Question:
Sachant qu'Access ne fonctionne ni comme SQL Server ni
comme Oracle, si une table contient 5000 records et que
je
lance une requête (SELECT) via l'application ne
demandant
que 100 records en retour, qu'est-ce qui transite sur le
réseau ? Les 5000 records pour être traités en local ou
seulement le 100 records demandés ?
Je n'ai jamais eu de réponses bien précises à ce sujet
ou
alors qui se contredisent. Pouvez-vous m'éclairer très
précisément ?
Merci à tous.
Guy
.
Bien sûr seuls les 5000 enregistrements transiteront par
-----Message d'origine-----
Bonjour à tous,
J'ai un DB Access 97 sur un serveur. Une appli client
fait appelle à cette DB via des requêtes.
Question:
Sachant qu'Access ne fonctionne ni comme SQL Server ni
comme Oracle, si une table contient 5000 records et que
je
lance une requête (SELECT) via l'application ne
demandant
que 100 records en retour, qu'est-ce qui transite sur le
réseau ? Les 5000 records pour être traités en local ou
seulement le 100 records demandés ?
Je n'ai jamais eu de réponses bien précises à ce sujet
ou
alors qui se contredisent. Pouvez-vous m'éclairer très
précisément ?
Merci à tous.
Guy
.
Bien sûr seuls les 5000 enregistrements transiteront par
-----Message d'origine-----
Bonjour à tous,
J'ai un DB Access 97 sur un serveur. Une appli client
fait appelle à cette DB via des requêtes.
Question:
Sachant qu'Access ne fonctionne ni comme SQL Server ni
comme Oracle, si une table contient 5000 records et que
je
lance une requête (SELECT) via l'application ne
demandant
que 100 records en retour, qu'est-ce qui transite sur le
réseau ? Les 5000 records pour être traités en local ou
seulement le 100 records demandés ?
Je n'ai jamais eu de réponses bien précises à ce sujet
ou
alors qui se contredisent. Pouvez-vous m'éclairer très
précisément ?
Merci à tous.
Guy
.
Bien sûr seuls les 5000 enregistrements transiteront par
Salut,
Voilà, j'ai refait des essais.
8>< tout plein de texte coupe ><8
... Mais suivant les cas, il peut être intéressant d'avoir plus
d'index pour réduire encore plus les données qui transitent sur le réseau.
Mais attention, trop d'index tue aussi et peut ralentir
la performance......
J'approuve totalement Daniel, la manière de créer et d'utiliser les index
est capitale.
L'ouverture en mode feuille de données d'une table de 6000 lignes se fait
en moins de 2 secondes sur un réseau
local. Mais s'il y a 10 utilisateurs, cela fera 20 secondes en tout, avec
saturation du réseau......
... Bien souvent, pour les PME, en réseau local, le
passage à SQL n'est pas justifié, il suffit de se pencher sérieusement sur
la conception de la base et l'accès aux données.
Et puis, les erreurs de conception ou de programmation ont le même effet
avec Access ou avec SQL server,
les temps de réponse sont désastreux.
Ne vous méprenez pas, j'adore SQL server, mais a-t-on besoin d'un
marteau-pilon pour écraser une mouche ?
Salut,
Voilà, j'ai refait des essais.
8>< tout plein de texte coupe ><8
... Mais suivant les cas, il peut être intéressant d'avoir plus
d'index pour réduire encore plus les données qui transitent sur le réseau.
Mais attention, trop d'index tue aussi et peut ralentir
la performance......
J'approuve totalement Daniel, la manière de créer et d'utiliser les index
est capitale.
L'ouverture en mode feuille de données d'une table de 6000 lignes se fait
en moins de 2 secondes sur un réseau
local. Mais s'il y a 10 utilisateurs, cela fera 20 secondes en tout, avec
saturation du réseau......
... Bien souvent, pour les PME, en réseau local, le
passage à SQL n'est pas justifié, il suffit de se pencher sérieusement sur
la conception de la base et l'accès aux données.
Et puis, les erreurs de conception ou de programmation ont le même effet
avec Access ou avec SQL server,
les temps de réponse sont désastreux.
Ne vous méprenez pas, j'adore SQL server, mais a-t-on besoin d'un
marteau-pilon pour écraser une mouche ?
Salut,
Voilà, j'ai refait des essais.
8>< tout plein de texte coupe ><8
... Mais suivant les cas, il peut être intéressant d'avoir plus
d'index pour réduire encore plus les données qui transitent sur le réseau.
Mais attention, trop d'index tue aussi et peut ralentir
la performance......
J'approuve totalement Daniel, la manière de créer et d'utiliser les index
est capitale.
L'ouverture en mode feuille de données d'une table de 6000 lignes se fait
en moins de 2 secondes sur un réseau
local. Mais s'il y a 10 utilisateurs, cela fera 20 secondes en tout, avec
saturation du réseau......
... Bien souvent, pour les PME, en réseau local, le
passage à SQL n'est pas justifié, il suffit de se pencher sérieusement sur
la conception de la base et l'accès aux données.
Et puis, les erreurs de conception ou de programmation ont le même effet
avec Access ou avec SQL server,
les temps de réponse sont désastreux.
Ne vous méprenez pas, j'adore SQL server, mais a-t-on besoin d'un
marteau-pilon pour écraser une mouche ?