Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengisih Nombor Versi MySQL yang Disimpan sebagai Varbinary(300) Dengan Berkesan?
Mengisih Nombor Versi MySQL Dengan Berkesan
Apabila berurusan dengan nombor versi yang disimpan sebagai varbinary(300) dalam MySQL, mendapatkan susunan disusun yang tepat boleh mencabar. Pertanyaan yang biasa digunakan, "pilih nombor_versi daripada susunan jadual mengikut nombor_versi asc," selalunya gagal menghasilkan hasil yang diingini.
Satu penyelesaian berkesan untuk teka-teki pengisihan ini ialah mengeksploitasi fungsi INET_ATON. Dengan menggunakan pertanyaan berikut, anda boleh mencapai susunan disusun yang dikehendaki:
SELECT version_number FROM table ORDER BY INET_ATON(SUBSTRING_INDEX(CONCAT(version_number,'.0.0.0'),'.',4))
Teknik ini memanfaatkan fungsi INET_ATON untuk menukar alamat IP ke dalam bentuk berangkanya. Dengan menggabungkan nombor versi dengan '.0.0.0' menggunakan fungsi CONCAT, kami memastikan setiap baris mempunyai sekurang-kurangnya empat bahagian. Fungsi SUBSTRING_INDEX kemudian mengekstrak empat bahagian pertama untuk fungsi INET_ATON untuk menjalankan keajaibannya.
Adalah penting untuk ambil perhatian bahawa pendekatan ini menggunakan fungsi dan bukannya lajur itu sendiri untuk mengisih. Akibatnya, ia mungkin lebih perlahan daripada mengisih pada lajur yang diindeks. Untuk kes di mana prestasi adalah kritikal, pertimbangkan untuk menggunakan pendekatan lajur yang berasingan, seperti yang dicadangkan oleh @spanky.
Atas ialah kandungan terperinci Bagaimana untuk Mengisih Nombor Versi MySQL yang Disimpan sebagai Varbinary(300) Dengan Berkesan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!