Isih Semulajadi dalam MySQL: Panduan untuk Memesan Data Terpindah
Pengurusan pangkalan data selalunya melibatkan pengurusan data tidak seragam yang memerlukan kriteria pengisihan khusus untuk menjaga ketenteraman. Dalam MySQL, pengisihan semula jadi, yang menyusun urutan data berdasarkan tafsiran semula jadinya dan bukannya nilai ASCIInya, menimbulkan cabaran unik.
Pertimbangkan set data tajuk permainan Final Fantasy berikut:
* Final Fantasy * Final Fantasy 4 * Final Fantasy 10 * Final Fantasy 12 * Final Fantasy 12: Chains of Promathia * Final Fantasy Adventure * Final Fantasy Origins * Final Fantasy Tactics
Secara tradisinya, kaedah yang susah payah digunakan untuk mengekstrak komponen seperti tajuk, nombor, dan sari kata, yang kemudiannya digunakan untuk membina mekanisme pesanan. Walau bagaimanapun, pendekatan ini terbukti menyusahkan apabila permainan baharu dengan skema penamaan tidak konvensional muncul (mis., "Warhammer 40,000").
Untuk menangani cabaran ini, kami mencadangkan penyelesaian ringkas dan cekap yang memanfaatkan fungsi sedia ada MySQL:
SELECT alphanumeric, integer FROM sorting_test ORDER BY LENGTH(alphanumeric), alphanumeric
Pertanyaan ini beroperasi sebagai berikut:
Akibatnya, tajuk permainan akan disusun dalam susunan intuitif semula jadi, selaras dengan jangkaan manusia:
* Final Fantasy * Final Fantasy 4 * Final Fantasy 10 * Final Fantasy 12 * Final Fantasy 12: Chains of Promathia * Final Fantasy Adventure * Final Fantasy Origins * Final Fantasy Tactics
Penyelesaian elegan ini menghapuskan keperluan untuk penghuraian data yang kompleks dan menyediakan pengisihan yang konsisten untuk tajuk permainan tanpa mengira variasi penamaan mereka. Ia bergantung semata-mata pada fungsi terbina dalam MySQL, memastikan prestasi dan keserasian merentas versi perisian pangkalan data yang berbeza.
Atas ialah kandungan terperinci Bagaimana MySQL Boleh Menyusun Data Tidak Seragam Seperti Permainan dengan Cekap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!