Exigences : Lors d’un entretien récent, on m’a demandé quelle était la différence entre l’intelligence de la base de données SQL Server et le guid comme clé principale.Les deux ont des avantages et des inconvénients, merci de les peser selon vos scénarios commerciaux réels。
Texte original 1:La connexion hyperlientérée est visible.
Avantages d’utiliser l’INT comme clé principale :
1. Il nécessite un espace de stockage de données réduit, seulement 4 octets.
2. Les performances de l’utilisation de l’INT pour les opérations d’insertion et de mise à jour sont meilleures que celles du GUID, donc l’utilisation de l’int améliorera les performances de l’application.
3. Opérations d’indexation et de jointure, int a les meilleures performances.
4. Facile à retenir.
5. Soutien pour obtenir la dernière valeur via une fonction, telle que : Scope_Indentity().
Inconvénients d’utiliser l’INT comme clé principale
1. S’il y a une opération fréquente de fusion de tables, il peut y avoir une duplication des clés primaires.
2. Il existe des restrictions quant à la portée de l’utilisation des données INT. S’il y a une grande quantité de données, elle peut dépasser la plage de valeurs INT.
3. Il est difficile de traiter les tables de données stockées distribuées.
Avantages d’utiliser le GUID comme clé principale :
1. C’est unique.
2. Il y a peu d’opportunités de duplication.
3. Il convient aux opérations d’insertion et de mise à jour dans une grande quantité de données.
4. La fusion de données entre serveurs est très pratique.
Inconvénients d’utiliser le GUID comme clé principale :
1. L’espace de stockage est grand (16 octets), ce qui prendra plus de disque.
2. Il est difficile de s’en souvenir. La performance de l’opération de jonction est inférieure à celle de l’int.
3. Il n’existe aucune fonction intégrée pour obtenir la dernière clé primaire GUID générée.
4. Le GUID, en tant que clé principale, sera ajouté à d’autres indices de la table, ce qui réduira les performances.
Résumé:
Ce qui précède énumère les avantages et inconvénients des types de données GUID et INT comme clés primaires. Je pense que pour les grands volumes de données, il est recommandé d’utiliser le guid comme clé principale. tandis queUtiliser l’intelligence te donnera les meilleures performances possibles。
Commentaire : UtilisezLes performances du GUID ordonné s’améliorent beaucoup。
Texte original deux:La connexion hyperlientérée est visible.
L’identité est un type entier, décimal sans définition décimale, bigint est acceptable
Le guid est binaire fixe(16), soit 16 octets
L’identité est incrémentée (ou soustraite), et le GUID est aléatoire, donc lorsque les données sont insérées,Le premier ne produira aucun fragment, tandis que le second oui, et comme le second est désorganisé, l’ordre doit être ajusté lors de l’insertion, donc le premier est généralement meilleur que le second en termes de performance.
Une grande quantité d’informations est généralement divisée en tableaux, donc l’identité est encore plus appropriée dans de nombreux cas
Quant à la signification de la clé primaire, cela dépend de la façon dont vous la considérez lors de la conception, pour le traitement des données lui-même, la clé primaire n’a pas besoin d’avoir un sens, et si vous exigez que la clé primaire contienne un sens métier, alors la clé primaire identité est bien sûr dénuée de sens, mais en général, il vaut mieux séparer la signification métier et le traitement des données, l’entreprise évolue constamment, si vous voulez apporter la signification à la clé principale de la conception de la table, alors l’entreprise change, il faudra ajuster davantage la structure de la table.
Texte original trois:La connexion hyperlientérée est visible.
1. Dans les systèmes qui nécessitent souvent une migration de données, il est recommandé d’utiliser Guid. Et ajouter des index non regroupés aux champs de clés étrangères correspondants, c’est-à-dire les champs utilisés pour les requêtes de jointure, est très bénéfique pour améliorer les performances. Le champ de la condition où peut également être ajouté selon le cas pour les index non regroupés.
2. Lors de l’utilisation du type Guid comme clé primaire, le type de données doit être un identifiant unique et veiller à bien le retenirAnnulez la clé primaire "Index agrégés”
3. Pour les systèmes qui n’ont pas besoin d’être migrés, ou les petits systèmes, il reste très pratique d’utiliser l’intelligence comme clé principale, et il y a encore une certaine amélioration de l’efficacité.
(Fin)
|