Bonjour =E0 tous,
J'ai pu lire quelque part, il y a quelque temps, que le=20
type Integer (entier) =E9tait moins rapide que le type Long=20
(entier long) pour les calculs car Access ferai une=20
conversion syst=E9matique de l'entier vers l'entier long=20
pour travailler avec.
Je me pose la m=EAme question concernant Single, Double,=20
Decimal et Currency. Y a-t-il des conversions, qu'est-ce=20
qui est le plus rapide et pourquoi ?
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
Raymond [mvp]
Bonjour.
il est exact que access traduit les integers en long lors de ses calculs internes (seulement internes) mais il faut relativiser le temps perdu ou gagné lors de cette opération, car pour gagner 1 seconde de différentiel entre les deux il doit falloir réaliser entre 200 millions et 500 millions d'opérations dans une séquence. Pour le single ou double, c'est un peu pareil car access renvoi un double lorsque il fait une opération entre deux single, ce qui est normal si les deux single sont au maxi de leur capacité.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Yann" a écrit dans le message de news:b49401c488f6$70c7c850$ Bonjour à tous, J'ai pu lire quelque part, il y a quelque temps, que le type Integer (entier) était moins rapide que le type Long (entier long) pour les calculs car Access ferai une conversion systématique de l'entier vers l'entier long pour travailler avec. Je me pose la même question concernant Single, Double, Decimal et Currency. Y a-t-il des conversions, qu'est-ce qui est le plus rapide et pourquoi ?
Merci.
Bye Yann
Bonjour.
il est exact que access traduit les integers en long lors de ses calculs
internes (seulement internes) mais il faut relativiser le temps perdu ou
gagné lors de cette opération, car pour gagner 1 seconde de différentiel
entre les deux il doit falloir réaliser entre 200 millions et 500 millions
d'opérations dans une séquence. Pour le single ou double, c'est un peu
pareil car access renvoi un double lorsque il fait une opération entre deux
single, ce qui est normal si les deux single sont au maxi de leur capacité.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Yann" <ypelissier@yahoo.com> a écrit dans le message de
news:b49401c488f6$70c7c850$a601280a@phx.gbl...
Bonjour à tous,
J'ai pu lire quelque part, il y a quelque temps, que le
type Integer (entier) était moins rapide que le type Long
(entier long) pour les calculs car Access ferai une
conversion systématique de l'entier vers l'entier long
pour travailler avec.
Je me pose la même question concernant Single, Double,
Decimal et Currency. Y a-t-il des conversions, qu'est-ce
qui est le plus rapide et pourquoi ?
il est exact que access traduit les integers en long lors de ses calculs internes (seulement internes) mais il faut relativiser le temps perdu ou gagné lors de cette opération, car pour gagner 1 seconde de différentiel entre les deux il doit falloir réaliser entre 200 millions et 500 millions d'opérations dans une séquence. Pour le single ou double, c'est un peu pareil car access renvoi un double lorsque il fait une opération entre deux single, ce qui est normal si les deux single sont au maxi de leur capacité.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Yann" a écrit dans le message de news:b49401c488f6$70c7c850$ Bonjour à tous, J'ai pu lire quelque part, il y a quelque temps, que le type Integer (entier) était moins rapide que le type Long (entier long) pour les calculs car Access ferai une conversion systématique de l'entier vers l'entier long pour travailler avec. Je me pose la même question concernant Single, Double, Decimal et Currency. Y a-t-il des conversions, qu'est-ce qui est le plus rapide et pourquoi ?
Merci.
Bye Yann
Yann
Salut Raymond, Justement, je vais avoir pas mal de lignes à traiter (environs 50000/mois sur minimum 24 mois, > 1 million, pour le moment, avec une possibilité d'ouvrir vers 3 autres secteur, donc autant de lignes) avec des convertions de monnaies, donc des multiplications à gogo et j'avais pu lire que de mettre certaine valeur en currency pourrait améliorer les perfs pour une histoire de virgule flottente je crois me souvenir.
Masi alors, à quoi cela sert-il (hormis la place) d'avoir single/double/currency et Long/Integer ?
Merci
Bye Yann
-----Message d'origine----- Bonjour.
il est exact que access traduit les integers en long lors de ses calculs
internes (seulement internes) mais il faut relativiser le temps perdu ou
gagné lors de cette opération, car pour gagner 1 seconde de différentiel
entre les deux il doit falloir réaliser entre 200 millions et 500 millions
d'opérations dans une séquence. Pour le single ou double, c'est un peu
pareil car access renvoi un double lorsque il fait une opération entre deux
single, ce qui est normal si les deux single sont au maxi de leur capacité.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Yann" a écrit dans le message de news:b49401c488f6$70c7c850$ Bonjour à tous, J'ai pu lire quelque part, il y a quelque temps, que le type Integer (entier) était moins rapide que le type Long (entier long) pour les calculs car Access ferai une conversion systématique de l'entier vers l'entier long pour travailler avec. Je me pose la même question concernant Single, Double, Decimal et Currency. Y a-t-il des conversions, qu'est-ce qui est le plus rapide et pourquoi ?
Merci.
Bye Yann
.
Salut Raymond,
Justement, je vais avoir pas mal de lignes à traiter
(environs 50000/mois sur minimum 24 mois, > 1 million,
pour le moment, avec une possibilité d'ouvrir vers 3
autres secteur, donc autant de lignes) avec des
convertions de monnaies, donc des multiplications à gogo
et j'avais pu lire que de mettre certaine valeur en
currency pourrait améliorer les perfs pour une histoire
de virgule flottente je crois me souvenir.
Masi alors, à quoi cela sert-il (hormis la place) d'avoir
single/double/currency et Long/Integer ?
Merci
Bye
Yann
-----Message d'origine-----
Bonjour.
il est exact que access traduit les integers en long
lors de ses calculs
internes (seulement internes) mais il faut relativiser
le temps perdu ou
gagné lors de cette opération, car pour gagner 1 seconde
de différentiel
entre les deux il doit falloir réaliser entre 200
millions et 500 millions
d'opérations dans une séquence. Pour le single ou
double, c'est un peu
pareil car access renvoi un double lorsque il fait une
opération entre deux
single, ce qui est normal si les deux single sont au
maxi de leur capacité.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Yann" <ypelissier@yahoo.com> a écrit dans le message de
news:b49401c488f6$70c7c850$a601280a@phx.gbl...
Bonjour à tous,
J'ai pu lire quelque part, il y a quelque temps, que le
type Integer (entier) était moins rapide que le type Long
(entier long) pour les calculs car Access ferai une
conversion systématique de l'entier vers l'entier long
pour travailler avec.
Je me pose la même question concernant Single, Double,
Decimal et Currency. Y a-t-il des conversions, qu'est-ce
qui est le plus rapide et pourquoi ?
Salut Raymond, Justement, je vais avoir pas mal de lignes à traiter (environs 50000/mois sur minimum 24 mois, > 1 million, pour le moment, avec une possibilité d'ouvrir vers 3 autres secteur, donc autant de lignes) avec des convertions de monnaies, donc des multiplications à gogo et j'avais pu lire que de mettre certaine valeur en currency pourrait améliorer les perfs pour une histoire de virgule flottente je crois me souvenir.
Masi alors, à quoi cela sert-il (hormis la place) d'avoir single/double/currency et Long/Integer ?
Merci
Bye Yann
-----Message d'origine----- Bonjour.
il est exact que access traduit les integers en long lors de ses calculs
internes (seulement internes) mais il faut relativiser le temps perdu ou
gagné lors de cette opération, car pour gagner 1 seconde de différentiel
entre les deux il doit falloir réaliser entre 200 millions et 500 millions
d'opérations dans une séquence. Pour le single ou double, c'est un peu
pareil car access renvoi un double lorsque il fait une opération entre deux
single, ce qui est normal si les deux single sont au maxi de leur capacité.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Yann" a écrit dans le message de news:b49401c488f6$70c7c850$ Bonjour à tous, J'ai pu lire quelque part, il y a quelque temps, que le type Integer (entier) était moins rapide que le type Long (entier long) pour les calculs car Access ferai une conversion systématique de l'entier vers l'entier long pour travailler avec. Je me pose la même question concernant Single, Double, Decimal et Currency. Y a-t-il des conversions, qu'est-ce qui est le plus rapide et pourquoi ?
Merci.
Bye Yann
.
Raymond [mvp]
et pourquoi avoir une 607, une 407, une 307 une 206 alors que moi je n'ai besoin que d'une voiture ? à l'extrême c'est un peu ça. long est beaucoup plus long que integer et prend deux fois plus de place. c'est pareil pour single et double. sur des millions d'enregistrements un integer peut gagner beaucoup de place par rapport à un long, idem pour le single. lecurrency gagne en performances sur le double, c'est vrai. les calculs en virgule flottante sont gourmands en tout. tu peux très bien te définir une norme personnelle. integer ne peut dépasser 32767 ce qui est peu. un long = 4 octets un integer = 2 octets si tu n'as que 10 champs et 50000 enregistrements tu vas gagner 20 octets par enregistrement et 1 Mo sur la bande passante globale. à ce niveau on peut très bien tout mettre en long. pour tout ce qui est monétaire il vaut mieux passer par le currency. pour les quantités entières prendre un long. tu n'as pas vraiment le choix ? -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Yann" a écrit dans le message de news:b6cd01c48912$7a2888f0$ Salut Raymond, Justement, je vais avoir pas mal de lignes à traiter (environs 50000/mois sur minimum 24 mois, > 1 million, pour le moment, avec une possibilité d'ouvrir vers 3 autres secteur, donc autant de lignes) avec des convertions de monnaies, donc des multiplications à gogo et j'avais pu lire que de mettre certaine valeur en currency pourrait améliorer les perfs pour une histoire de virgule flottente je crois me souvenir.
Masi alors, à quoi cela sert-il (hormis la place) d'avoir single/double/currency et Long/Integer ?
Merci
et pourquoi avoir une 607, une 407, une 307 une 206 alors que moi je n'ai
besoin que d'une voiture ? à l'extrême c'est un peu ça.
long est beaucoup plus long que integer et prend deux fois plus de place.
c'est pareil pour single et double. sur des millions d'enregistrements un
integer peut gagner beaucoup de place par rapport à un long, idem pour le
single. lecurrency gagne en performances sur le double, c'est vrai. les
calculs en virgule flottante sont gourmands en tout.
tu peux très bien te définir une norme personnelle.
integer ne peut dépasser 32767 ce qui est peu.
un long = 4 octets un integer = 2 octets
si tu n'as que 10 champs et 50000 enregistrements tu vas gagner 20 octets
par enregistrement et 1 Mo sur la bande passante globale. à ce niveau on
peut très bien tout mettre en long.
pour tout ce qui est monétaire il vaut mieux passer par le currency.
pour les quantités entières prendre un long.
tu n'as pas vraiment le choix ?
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Yann" <ypelissier@yahoo.com> a écrit dans le message de
news:b6cd01c48912$7a2888f0$a401280a@phx.gbl...
Salut Raymond,
Justement, je vais avoir pas mal de lignes à traiter
(environs 50000/mois sur minimum 24 mois, > 1 million,
pour le moment, avec une possibilité d'ouvrir vers 3
autres secteur, donc autant de lignes) avec des
convertions de monnaies, donc des multiplications à gogo
et j'avais pu lire que de mettre certaine valeur en
currency pourrait améliorer les perfs pour une histoire
de virgule flottente je crois me souvenir.
Masi alors, à quoi cela sert-il (hormis la place) d'avoir
single/double/currency et Long/Integer ?
et pourquoi avoir une 607, une 407, une 307 une 206 alors que moi je n'ai besoin que d'une voiture ? à l'extrême c'est un peu ça. long est beaucoup plus long que integer et prend deux fois plus de place. c'est pareil pour single et double. sur des millions d'enregistrements un integer peut gagner beaucoup de place par rapport à un long, idem pour le single. lecurrency gagne en performances sur le double, c'est vrai. les calculs en virgule flottante sont gourmands en tout. tu peux très bien te définir une norme personnelle. integer ne peut dépasser 32767 ce qui est peu. un long = 4 octets un integer = 2 octets si tu n'as que 10 champs et 50000 enregistrements tu vas gagner 20 octets par enregistrement et 1 Mo sur la bande passante globale. à ce niveau on peut très bien tout mettre en long. pour tout ce qui est monétaire il vaut mieux passer par le currency. pour les quantités entières prendre un long. tu n'as pas vraiment le choix ? -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Yann" a écrit dans le message de news:b6cd01c48912$7a2888f0$ Salut Raymond, Justement, je vais avoir pas mal de lignes à traiter (environs 50000/mois sur minimum 24 mois, > 1 million, pour le moment, avec une possibilité d'ouvrir vers 3 autres secteur, donc autant de lignes) avec des convertions de monnaies, donc des multiplications à gogo et j'avais pu lire que de mettre certaine valeur en currency pourrait améliorer les perfs pour une histoire de virgule flottente je crois me souvenir.
Masi alors, à quoi cela sert-il (hormis la place) d'avoir single/double/currency et Long/Integer ?
Merci
Salut Raymond, Merci beaucoup, c'est ce que je me représentais, mais maintenant j'en ai le coeur net.
Bye Yann
-----Message d'origine----- et pourquoi avoir une 607, une 407, une 307 une 206 alors que moi je n'ai
besoin que d'une voiture ? à l'extrême c'est un peu ça. long est beaucoup plus long que integer et prend deux fois plus de place.
c'est pareil pour single et double. sur des millions d'enregistrements un
integer peut gagner beaucoup de place par rapport à un long, idem pour le
single. lecurrency gagne en performances sur le double, c'est vrai. les
calculs en virgule flottante sont gourmands en tout. tu peux très bien te définir une norme personnelle. integer ne peut dépasser 32767 ce qui est peu. un long = 4 octets un integer = 2 octets si tu n'as que 10 champs et 50000 enregistrements tu vas gagner 20 octets
par enregistrement et 1 Mo sur la bande passante globale. à ce niveau on
peut très bien tout mettre en long. pour tout ce qui est monétaire il vaut mieux passer par le currency.
pour les quantités entières prendre un long. tu n'as pas vraiment le choix ? -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Yann" a écrit dans le message de news:b6cd01c48912$7a2888f0$ Salut Raymond, Justement, je vais avoir pas mal de lignes à traiter (environs 50000/mois sur minimum 24 mois, > 1 million, pour le moment, avec une possibilité d'ouvrir vers 3 autres secteur, donc autant de lignes) avec des convertions de monnaies, donc des multiplications à gogo et j'avais pu lire que de mettre certaine valeur en currency pourrait améliorer les perfs pour une histoire de virgule flottente je crois me souvenir.
Masi alors, à quoi cela sert-il (hormis la place) d'avoir single/double/currency et Long/Integer ?
Merci
.
Salut Raymond,
Merci beaucoup, c'est ce que je me représentais, mais
maintenant j'en ai le coeur net.
Bye
Yann
-----Message d'origine-----
et pourquoi avoir une 607, une 407, une 307 une 206
alors que moi je n'ai
besoin que d'une voiture ? à l'extrême c'est un peu ça.
long est beaucoup plus long que integer et prend deux
fois plus de place.
c'est pareil pour single et double. sur des millions
d'enregistrements un
integer peut gagner beaucoup de place par rapport à un
long, idem pour le
single. lecurrency gagne en performances sur le double,
c'est vrai. les
calculs en virgule flottante sont gourmands en tout.
tu peux très bien te définir une norme personnelle.
integer ne peut dépasser 32767 ce qui est peu.
un long = 4 octets un integer = 2 octets
si tu n'as que 10 champs et 50000 enregistrements tu vas
gagner 20 octets
par enregistrement et 1 Mo sur la bande passante
globale. à ce niveau on
peut très bien tout mettre en long.
pour tout ce qui est monétaire il vaut mieux passer par
le currency.
pour les quantités entières prendre un long.
tu n'as pas vraiment le choix ?
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Yann" <ypelissier@yahoo.com> a écrit dans le message de
news:b6cd01c48912$7a2888f0$a401280a@phx.gbl...
Salut Raymond,
Justement, je vais avoir pas mal de lignes à traiter
(environs 50000/mois sur minimum 24 mois, > 1 million,
pour le moment, avec une possibilité d'ouvrir vers 3
autres secteur, donc autant de lignes) avec des
convertions de monnaies, donc des multiplications à gogo
et j'avais pu lire que de mettre certaine valeur en
currency pourrait améliorer les perfs pour une histoire
de virgule flottente je crois me souvenir.
Masi alors, à quoi cela sert-il (hormis la place) d'avoir
single/double/currency et Long/Integer ?
Salut Raymond, Merci beaucoup, c'est ce que je me représentais, mais maintenant j'en ai le coeur net.
Bye Yann
-----Message d'origine----- et pourquoi avoir une 607, une 407, une 307 une 206 alors que moi je n'ai
besoin que d'une voiture ? à l'extrême c'est un peu ça. long est beaucoup plus long que integer et prend deux fois plus de place.
c'est pareil pour single et double. sur des millions d'enregistrements un
integer peut gagner beaucoup de place par rapport à un long, idem pour le
single. lecurrency gagne en performances sur le double, c'est vrai. les
calculs en virgule flottante sont gourmands en tout. tu peux très bien te définir une norme personnelle. integer ne peut dépasser 32767 ce qui est peu. un long = 4 octets un integer = 2 octets si tu n'as que 10 champs et 50000 enregistrements tu vas gagner 20 octets
par enregistrement et 1 Mo sur la bande passante globale. à ce niveau on
peut très bien tout mettre en long. pour tout ce qui est monétaire il vaut mieux passer par le currency.
pour les quantités entières prendre un long. tu n'as pas vraiment le choix ? -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Yann" a écrit dans le message de news:b6cd01c48912$7a2888f0$ Salut Raymond, Justement, je vais avoir pas mal de lignes à traiter (environs 50000/mois sur minimum 24 mois, > 1 million, pour le moment, avec une possibilité d'ouvrir vers 3 autres secteur, donc autant de lignes) avec des convertions de monnaies, donc des multiplications à gogo et j'avais pu lire que de mettre certaine valeur en currency pourrait améliorer les perfs pour une histoire de virgule flottente je crois me souvenir.
Masi alors, à quoi cela sert-il (hormis la place) d'avoir single/double/currency et Long/Integer ?