Varbinary(300) として保存された MySQL バージョン番号を効果的にソートするにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-09 09:01:02
オリジナル
262 人が閲覧しました

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

MySQL バージョン番号を効果的に並べ替える

MySQL で varbinary(300) として保存されたバージョン番号を扱う場合、正確な並べ替え順序を取得することができます。挑戦的。よく使用されるクエリ「select version_number from table order by version_number asc」では、多くの場合、望ましい結果が得られません。

この並べ替えの難問に対する効果的な解決策の 1 つは、INET_ATON 関数を活用することです。次のクエリを使用すると、希望する並べ替え順序を実現できます:

SELECT version_number FROM table ORDER BY INET_ATON(SUBSTRING_INDEX(CONCAT(version_number,'.0.0.0'),'.',4))
ログイン後にコピー

この手法では、INET_ATON 関数を利用して IP アドレスを数値形式に変換します。 CONCAT 関数を使用してバージョン番号を「.0.0.0」と連結することで、各行に少なくとも 4 つの部分が含まれるようになります。次に、SUBSTRING_INDEX 関数は、INET_ATON 関数の魔法を実行するために最初の 4 つの部分を抽出します。

このアプローチでは、並べ替えに列自体ではなく関数が利用されることに注意することが重要です。したがって、インデックス付き列での並べ替えよりも遅くなる可能性があります。パフォーマンスが重要な場合は、@spanky が提案するように、別の列アプローチを使用することを検討してください。

以上がVarbinary(300) として保存された MySQL バージョン番号を効果的にソートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート