MariaDB(MySQL)の照合順序の話IT系おじさんのチラシの裏2018年10月~プロフィールAUTHOR:とっちら書きたくなったときに書きたいことを書く雑記ブログ。IT系のネタが多いかも知れません。11:57とっちら1年前の記事に助けられました。14:28とっちらこの記事のお陰で60分録画できるようになりました。16:01とっちらライセンスを明示して貰えると使いやすいのですが。14:37ご回答いただきどうもありがとうございます。21:56とっちら超初心者です。)ぼくが初めてデータベースという存在を知ったのは25年ほど前のBtrieveだったと記憶していますが、検索/ソートができて自分でコーディングするよりも早いことに感動したものです。普及しはじめてからはSQL文だけで集計処理はおろか、表結合まで出来るし、いったいどこまで生産効率が上がってしまうのかと恐ろしくも感じました。もので、RDBMS間でSQL文にもそこまで大きな違いはなく、どれも似たようなコーディングで済むため開発効率はとても上がりました。細かいことをいえばストアドプロシージャの有無や作り方、関数名とか違ったりしますが、そういう部分はフロントエンド側で吸収できる場合も多いです。トリガーとか使いたがるシステムもありましたが、そういうRDBMSに依存した仕様は後々システムの移植作業で難儀したりするんですよね。話がそれましたが、要するにDBエンジンにはSQL文を投げたら結果を返してくれる機能しか求めていなかったぼくですが、ひょんなきっかけでそのエンジンの開発現場で働くことになりました。※1そして、今まで自分が思っていたよりもずっと深く「日本語」について考慮されていることを知りました。それが照合順序だったんですね。今は半分引退しているただのおっさんです。照合順序とはデータベースにおける照合順序とは文字と文字の比較※1や並び順における重み付け※2で使われるルールのことです。Server等の商用データベースシステムでは多くの照合順序が実装されており、そこがオープンソース系のDBとの大きな違いとアピールしているPRも見かけたことがあります。Serverの日本語版だとデフォルトでは「久々」の「々」は前の文字の繰り返しと判定されたり、長音記号「ー」は前の文字の母音と判定したり、かなり複雑なことをしていたりします。例)「ケーキ」=「ケエキ」なんでそんなことを、と思うかも知れませんが、辞書や電話帳の並び順がそうなっているからで、そういう順序をDBにやってもらうことで成り立っているシステムが存在するのです。by句によるソート機能では文字ごとに重みを持っており、その重さの比較により並び順が決定されますMariaDB(MySQL)の照合順序MariaDBで日本語を扱う際に選ぶであろう照合順序は基本的にこの3つです。...英字の大文字小文字を区別しない。