IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

MS SQL Server Discussion :

Clef primaire en nvarchar


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Inscrit en
    Juin 2002
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 64
    Points : 57
    Points
    57
    Par défaut Clef primaire en nvarchar
    Bonjour,

    Je travaille sur un programme qui lorsque je creer une table, ajoute automatiquement un champ clef primaire de type nvarchar(8)

    Donc toute mes tables ont tous une clef primaire de ce type.

    J'ai créé une fonction qui génére automatique la prochaine valeur valide.
    dans une base 36 (de 0 à Z)

    Ma question est la suivante: etant donné qu'il s'agit d'un champ nvarchar de longueur 8, est-il plus performant pour le systeme que les clefs primaires comportent toujours 8 caractere ('0000000A', '000AA612'), et pas des valeur de longueurs differente ('A451', '45', 'AQSD46') ou bien cela ne change absolument rien ?

    Merci pour vos conseils
    Mouse

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 19
    Points : 14
    Points
    14
    Par défaut
    si ca fait tout le temps 8 en taille, je te conseille plutot un char(8) a la place de ton nvarchar. Mais bon, dans l'absolu c'est pas terrible d'utiliser du texte, c'est plus long à gérer que des nombres.

  3. #3
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 224
    Points : 19 566
    Points
    19 566
    Billets dans le blog
    25
    Par défaut
    pas de différences si le type est en varchar. Pour les Perfs, c'est en nchar not null (évidemment not null, pour une PK !) qu'il aurait fallu déclarer cette clé, et là, ça aurait changé !

  4. #4
    Membre du Club
    Inscrit en
    Juin 2002
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 64
    Points : 57
    Points
    57
    Par défaut
    Le fait est que je n'ai pas le choix, je voudrais bien mettre de l'integer, mais le programme m'impose du varchar de longueur 8.

  5. #5
    Membre du Club
    Inscrit en
    Juin 2002
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 64
    Points : 57
    Points
    57
    Par défaut
    ok, merci

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

Discussions similaires

  1. Générer une clef primaire aleatoire?
    Par 12_darte_12 dans le forum Administration
    Réponses: 4
    Dernier message: 18/07/2005, 18h10
  2. Suppression de clef primaire
    Par castaka dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 13/07/2005, 10h41
  3. Comment comment définir une clef primaire dans une table??
    Par nek_kro_kvlt dans le forum Bases de données
    Réponses: 4
    Dernier message: 07/02/2005, 21h06
  4. [VB.NET] [ADO.NET] Clef primaire auto incrémenté
    Par Guld dans le forum Accès aux données
    Réponses: 4
    Dernier message: 25/09/2004, 20h46
  5. récupérer la clef primaire d'une table
    Par orionis69 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 28/02/2004, 13h00

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