Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 3812|Répondre: 2

[Source] [Tourner] (MSSQL) Base de données SQL Server int et guid pour la comparaison des clés primaires

[Copié le lien]
Publié sur 06/06/2023 22:17:40 | | |
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 1La 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 deuxLa 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 troisLa 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)




Précédent:ASP.NET Core (20) Empêcher les attaques de redirection ouverte
Prochain:Fichiers ressources multilingues (.resx) du programme .NET Core
 Propriétaire| Publié sur 06/06/2023 22:42:46 |
SequentialGuidValueGenerator génère des valeurs Guid séquentielles optimisées pour une utilisation avec des clés de cluster ou des index Microsoft SQL Server, ce qui donne de meilleures performances que les valeurs aléatoires. C’est le générateur par défaut qui génère des colonnes SQL Server Guid lors de leur addition.

La connexion hyperlientérée est visible.


Les GUID séquentiels dans Entity Framework Core peuvent ne pas être séquentiels

La connexion hyperlientérée est visible.
 Propriétaire| Publié sur 27/01/2024 11:07:29 |
[MSSQL] Les GUID ordonnés et non ordonnés de SQL SERVER comme tests principaux d’indice d’agrégation de clés
https://www.itsvse.com/thread-10607-1-1.html
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com