Quel est l'avantage de l'utilisation de varbinary sur varchar ici?

Il y a un moment, j'ai posé une question à propos de la hiérarchie/numéro de version tri dans SQL Server.
(
Comment puis-je Sorte Un "Numéro de Version' Colonne, de manière Générique à l'Aide d'une Requête SQL Server).

Parmi les réponses qui ont été soumis a été ce lien vers un TSQL Codage défi avec à peu près le même casse-tête.

Dans le SQL2000 solution, l'auteur a démontré une deux variantes, l'une utilisant et en retournant un type varchar et l'autre de type varbinary. L'auteur explique QU'il est en train de faire cela, sans expliquer POURQUOI.

Donc, ma question est vraiment, quelles sont les principales différences/avantages (le cas échéant) de la différence d'approche? I. e. pourquoi utiliser un varbinary au lieu d'un varchar?

J'ai omis de poster le code, comme la plupart des élégamment résumé dans l'article ci-dessus.

  • Je crois que l'espoir est que les données varbinary seront généralement consommer moins d'octets (5), que le type varchar (10 ou 11, je pense) par portion de la chaîne d'origine, et donc, pour un très grand nombre de composants, ou des comparaisons de se produire, elle devrait être plus efficace. Mais je voudrais aussi deviner qu'il n'y a pas beaucoup de différences pratiques en matière d'efficacité, pour la plupart des utilisateurs.
  • Bravo pour cela. J'aurais été heureux de upvote et accepter que comme une réponse! Le fera si vous choisissez de le faire que de manière rétrospective.
  • J'aurais cru que c'est parce que le résultat est à être utilisé pour le tri et le binaire peut être plus efficace car il n'a pas à se préoccuper de classement. Mais pas sûr que cela est vrai en général, et même si c'est vrai en général aucune idée de comment il serait comparer tri d'une chaîne avec un binaire collate clause.