Nous stockons des guides dans une base de données MS SQL. Il y a du code hérité qui fait Guid.ToString()
et les transmet ensuite à un varchar(64)
et un code plus récent les transmet en utilisant un paramètre identifiant unique. Lorsque vous regardez les résultats à l'aide du studio MS SQL Management, ils sont différents. L'ordre des octets des trois premiers blocs est inversé mais le dernier reste le même. Pourquoi?Pourquoi Guid.ToString() inverse l'ordre des octets?
Répondre
Les champs identifiants uniques du serveur SQL peuvent être indexés, et sont donc 'en arrière'.
Des informations peuvent être générées à la fois à partir d'informations spécifiques à la machine et d'informations sur les événements.
La valeur par défaut Guid en .Net est aléatoire, mais vous pouvez obtenir Guids séquentielle de avec un appel extern:
[DllImport("rpcrt4.dll", SetLastError = true)]
static extern int UuidCreateSequential(out Guid guid);
Vous obtiendrez Guids en fonction de votre adresse MAC (MSDN docs) qui sont séquentielle.
Si vous .ToString()
ces guids séquentiels alors vous verrez la première partie de la chaîne varie, tandis que le reste reste constant.
Cela rend les contrôles d'égalité entre les contrôles plus rapides (car les différences seront au début) et améliore la variation pour ceux tronqués. Pour rechercher des colonnes, SqlServer construit des index de la même manière qu'un annuaire téléphonique ou un dictionnaire. Il est beaucoup plus rapide de rechercher des mots commençant par "Sur *" que de trouver ceux qui se terminent par "* flux". Cela signifie que, pour le serveur Sql, tout Guids séquentiel doit d'abord être stocké avec la valeur répétée, de sorte qu'il les stocke à l'avant.
- 1. Pourquoi BinaryReader.ReadUInt32() inverse le modèle binaire?
- 2. Pourquoi TADOBlobField.Savetofile n'écrit que 8 octets
- 3. Convertir des octets en bits
- 4. Inverse DataTrigger?
- 5. Pourquoi un booléen de 4 octets dans .NET?
- 6. Malloc de 2 octets donne des problèmes
- 7. Comptage des octets envoyés/reçus via HTTP
- 8. Java cipher.doFinal() écrit des octets supplémentaires
- 9. chaîne inverse php
- 10. C# Bitwise OR doit être casté avec des octets * parfois *
- 11. Cryptage DES de 8 octets en texte brut résultats dans le tableau de 16 octets
- 12. MFC AfxParseURL fonction inverse?
- 13. comment calculer tan inverse?
- 14. projection en perspective inverse
- 15. inverse Engneering une requête
- 16. Webservice cache proxy inverse?
- 17. Buffers et octets?
- 18. CFCHART: ordre inverse de l'axe Y
- 19. Octets en Java?
- 20. serialport.Write() - comment formater les octets correctement
- 21. Zend Route Regex problème inverse avec des barres obliques
- 22. Ordre inverse des barres dans un Flex BarChart
- 23. Contrôle de domaine IP inverse?
- 24. WebDAV derrière un proxy inverse
- 25. .htaccess inverse réécrire sans boucle?
- 26. apply-templates dans l'ordre inverse
- 27. Lire les octets de la chaîne comme des flottants
- 28. Comment puis-je convertir des bits en octets?
- 29. Comment saisir des caractères UTF-8 de 4 octets?
- 30. Octet pour la sérialisation des octets d'une structure en C#