Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    avril 2014
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : avril 2014
    Messages : 188
    Points : 65
    Points
    65

    Par défaut Clé en int ou bigint ?

    Bonjour,

    Je suis sur un serveur en x64.
    Pour plus de rapidité, faut-il déclarer des clés en int (comme sur x86) ou en bigInt ?

    Merci pour vos retours
    Sylo

  2. #2
    Expert éminent sénior

    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    4 314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : mars 2010
    Messages : 4 314
    Points : 10 410
    Points
    10 410
    Billets dans le blog
    1

    Par défaut

    Inutile de déclarer du bigint si la volumétrie à terme n'execède pas 4 milliard de lignes.

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    avril 2014
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : avril 2014
    Messages : 188
    Points : 65
    Points
    65

    Par défaut

    Merci escartefigue.

    Mais n'y a t'il pas une histoire de calcul de clé
    Je sais que déclaré des clé en bigint sur un x86 est plus lent pour les liaisons qui si c'est du int.
    Du coup, sur x64, est ce que le bigint ne serait pas plus rapide que le int ?

    Merci
    Sylo

  4. #4
    Expert éminent sénior

    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    4 314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : mars 2010
    Messages : 4 314
    Points : 10 410
    Points
    10 410
    Billets dans le blog
    1

    Par défaut

    Non :

    Si le processeur est un 64 bits, il sait manipuler un bigint (2^64) en un seul cycle CPU
    Si par contre le processeur est un 32 bits, il lui faut deux cycles CPU pour manipuler une valeur bigint.

    Du coup, ce qui pilote le choix c'est l'encombrement disque et réseau : inutile de transporter 32 bits supplémentaires (même si ce n'est pas énorme) si la table ne contiendra à terme jamais plus de 4 milliards de lignes.

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    avril 2014
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : avril 2014
    Messages : 188
    Points : 65
    Points
    65

    Par défaut

    ok, super, j'ai ma réponse
    Merci

  6. #6
    Rédacteur
    Avatar de SQLpro
    Homme Profil pro
    Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Inscrit en
    mai 2002
    Messages
    18 712
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 18 712
    Points : 43 726
    Points
    43 726

    Par défaut

    Citation Envoyé par olysmar2 Voir le message
    Merci escartefigue.

    Mais n'y a t'il pas une histoire de calcul de clé
    Je sais que déclaré des clé en bigint sur un x86 est plus lent pour les liaisons qui si c'est du int.
    Ceci était vrai du temps de la version 2000... !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/12/2016, 17h05
  2. Deux Int ou un BigInt ?
    Par f56bre dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 18/03/2013, 09h13
  3. MSSQL 2008 R2 64Bits => int vs BigInt (pk)
    Par mikaeru dans le forum Administration
    Réponses: 2
    Dernier message: 07/06/2011, 14h05
  4. [.COM] Réserver de la RAM fct 48h int 21h
    Par bulerias dans le forum x86 16-bits
    Réponses: 5
    Dernier message: 06/12/2010, 14h33
  5. [Dev c++ 4] implicite declaration of function "int kbhi
    Par Torpedox dans le forum Dev-C++
    Réponses: 5
    Dernier message: 01/01/2003, 13h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo