Tri naturel versus tri alphanumérique

Cet article présente la différence entre un tri naturel et un tri numérique et indique comment sont triées les données dans un Modèle et un cBase.

Un tri naturel ressemble à ceci :

Alors qu'un tri alphanumérique compare chaque caractère, comme dans un dictionnaire :

Un tri naturel peut être considéré comme un tri alphanumérique, mais avec un "classement numérique" ( une succession de chiffres est triée comme si c'était un seul nombre).

Voici un exemple d'un mauvais tri :

La numérotation des voitures vendues est séquentielle et chronologique, or le Car 134 qui a été vendu il y a longtemps se retrouve en plein milieu de voitures vendues plus récemment.

Une question qui surgit est : avons-nous vendu Car 133 ?

La réponse est non mais elle n'est pas évidente.

Et concernant Car 132 elle n'a pas été vendue, mais là aussi la réponse demande une réflexion.

Cet ordre ne semble pas naturel.

Avec un ordre naturel :

il est plus facile de voir les voitures manquantes.

Le tri naturel est l'ordre de tri par défaut dans Spectre.

Les Modèles (fichiers .mdl) utilisent toujours un tri alphanumérique, aussi les migrations qui remplacent les Modèles par des cBases peuvent changer l’ordre de tri.

Dans les fichiers scripts Build, vous pouvez modifier l'ordre de tri d'une colonne en alphanumérique avec le tag sort-natural=false

Ou dans l'éditeur visuel :

Vous pouvez combiner le tri avec le tag sort-by associé à la colonne sur laquelle s'applique le tri.

Un tri alphanumérique est 4 fois plus rapide dans Diver 7.2 que dans Diver 7.1 (mais le tri naturel est toujours plus rapide, car moins de comparaisons ont besoin d'être effectuées).