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

Vue: 17091|Répondre: 3

[Source] Utilisez GUID comme clé primaire et int comme comparaison de performance de clé principale

[Copié le lien]
Publié sur 09/10/2019 16:48:35 | | | |
Dans la conception de la base de données, nous utilisons souvent guid ou int comme clé principale, et selon les connaissances que nous avons acquises, nous avons toujours estimé que int est plus efficace comme clé principale, mais cela est impossible sans tests rigoureux

Expliquez la raison. Il se trouve que lors de l’optimisation de la base aujourd’hui, j’ai rencontré ce problème, alors j’ai fait un test.

Environnement de test :

PC de bureau Pentiun(R) 4 CPU 3,06GHz
Win XP professionnel
1,5G DE RAM DDR
SQL Server 2005 Personal  


Processus de test :

D’abord, créer une base de données de test, tester

Les résultats des tests sont les suivants :



Comme mentionné plus haut, l’efficacité d’utiliser int comme clé primaire est améliorée comparée à l’utilisation de guid comme clé principale, surtout lorsqu’il y a une requête de connexion et que des enregistrements sont supprimés.

De plus, dans la requête de données avec la clé principale dans GUID aujourd’hui, le délai d’attente de requête se produisait à plusieurs reprises en raison de l’imbrique de plusieurs sous-résultats de requête. Par conséquent, je suis en faveur d’utiliser int comme clé principale, et je ne suis pas d’accord avec guid comme clé principale.
Les points de vue ci-dessus représentent des opinions personnelles, et chacun est invité à exprimer son avis et à expliquer les avantages et inconvénients de GHID et d’intelligence comme clé principale.

Tests de suivi :


Après leur rappel par les frères, un indice non regroupé a été ajouté aujourd’hui à deux sous-tables :

CRÉER Index_Detail_Guid D’INDEX NON REGROUPÉ SUR Test_Guid_Detail(Guid)
CRÉER Index_Detail_id D’INDEX NON REGROUPÉ SUR Test_Int_Detail(id)
Ensuite, j’ai mené une requête interne sur la connexion et j’ai constaté que, comme @Xu Shaoxia l’a dit, l’efficacité n’est effectivement pas assez évidente pour indiquer plus de 50 %, et en gros seulement environ 23 % d’amélioration, ce qui reste acceptable.

Par conséquent, il est recommandé

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. Lorsque vous utilisez le type Guid comme clé primaire, le type de données doit être uniqueidentifier, et veillez à ne pas oublier d’annuler « l’indice agrégé » de la clé primaire

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é.





Précédent:A182 Wu Xiaobo « Nouveau livre blanc sur la classe moyenne 2019 »
Prochain:Une collection des ressources les plus récentes du Club de lecture Fan Deng
 Propriétaire| Publié sur 08/02/2021 11:03:12 |
test
 Propriétaire| Publié sur 08/02/2021 11:03:31 |

Publié sur 20/03/2025 16:13:51 |
La migration de la clé primaire INT n’est pas un gros problème, tant que la clé primaire INT est temporairement annulée pendant la migration, puis que l’auto-incrément s’ouvre après la migration
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