私はutf-8文字列を扱っています。これらは、MySQL データベース テーブルに格納する必要があります。そのため、いくつかの列に utf-8 照合を選択することにしました。今では、私が推測したほど明確ではない選択が見られます。問題は、SELECT ステートメントで大文字と小文字を区別する必要があることです。そうではありません。
最初のオプションは、別の utf-8 照合を選択することです (私が見る限り、非 ci 照合は utf8_bin だけです)。それは解決策ですか?2 つ目は、SELECT ステートメントで BINARY を使用することです。
select col1, col2
from table1
where BINARY col3='CasE_sENsiTive';
これは非常に単純ですが、パフォーマンスが少なくとも 10 倍以上低下します。私のテーブルには 1 つのインデックスがあり、BINARY がなくても問題なく動作します (インデックスなし = 遅い)。
私の状況での解決策は何ですか?
ありがとうございました。