Maison > base de données > tutoriel mysql > le corps du texte

Comment trier efficacement les numéros de version MySQL stockés sous Varbinary (300) ?

Susan Sarandon
Libérer: 2024-11-09 09:01:02
original
264 Les gens l'ont consulté

How to Sort MySQL Version Numbers Stored as Varbinary(300) Effectively?

Tri efficace des numéros de version MySQL

Lorsque vous traitez les numéros de version stockés sous varbinary(300) dans MySQL, il est possible d'obtenir un ordre de tri précis stimulant. La requête couramment utilisée, "sélectionner le numéro_version dans l'ordre de la table par numéro_version asc", ne parvient souvent pas à produire les résultats souhaités.

Une solution efficace à cette énigme de tri consiste à exploiter la fonction INET_ATON. En utilisant la requête suivante, vous pouvez obtenir l'ordre de tri souhaité :

SELECT version_number FROM table ORDER BY INET_ATON(SUBSTRING_INDEX(CONCAT(version_number,'.0.0.0'),'.',4))
Copier après la connexion

Cette technique exploite la fonction INET_ATON pour convertir les adresses IP sous leur forme numérique. En concaténant le numéro de version avec « .0.0.0 » à l'aide de la fonction CONCAT, nous nous assurons que chaque ligne comporte au moins quatre parties. La fonction SUBSTRING_INDEX extrait ensuite les quatre premières parties pour que la fonction INET_ATON opère sa magie.

Il est important de noter que cette approche utilise une fonction plutôt que la colonne elle-même pour le tri. Par conséquent, cela peut être plus lent que le tri sur une colonne indexée. Pour les cas où les performances sont critiques, envisagez d'utiliser une approche de colonnes distinctes, comme suggéré par @spanky.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal