2009年7月18日

[mysql 14986] Re: BLOB 列のデータを大文字・小文字の区別無 く検索する方法


On 18/07/2009, at 12:59 PM, kageyama 3 wrote:

>> ただしこのようなクエリ(中間一致)ではテーブルスキャンが起きてしまうので注意してくださいね。
>
> つまり、キャッシュが使えないということですね。

いえ、違います。中間一致と後方一致(先頭に%がついている)が問題なのです。

その場合どのようなインデックスも利用することは出来ません。

>
> ということは、出来ることならばテーブルを作成する時に CREATE TABLE tbl(clm TEXT COLLATE utf8_bin) と
> した方が良いですよね。
>
> タイミングを見て、変更できれば良いのですが。

データ型をTEXTに出来るなら、FULLTEXTを利用するのもアリですよ。
FULLTEXTなら中間一致検索の問題をクリアできます。
日本語への対応が必要ならTritonnも利用出来ます。

--
Mikiya Okuno, MySQL Support Engineer
Sun Microsystems KK, Tokyo, Japan
http://www-jp.mysql.com/

投稿者 xml-rpc : 2009年7月18日 13:08
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/86832
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。