mysql:14986
From: Mikiya Okuno <Mikiya Okuno <Mikiya.Okuno@xxxxxxxxxx>>
Date: Sat, 18 Jul 2009 13:08:52 +0900
Subject: [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/
14979 2009-07-18 11:21 [kageyama 3 <kageyama] BLOB 列のデータを大文字・小文字の区別無 く検索する方法 14980 2009-07-18 11:37 ┗[Mikiya Okuno <Mikiya] 14981 2009-07-18 12:10 ┗[kageyama 3 <kageyama] 14982 2009-07-18 12:25 ┗[kageyama 3 <kageyama] 14983 2009-07-18 12:36 ┗[Mikiya Okuno <Mikiya] 14985 2009-07-18 12:59 ┗[kageyama 3 <kageyama] -> 14986 2009-07-18 13:08 ┗[Mikiya Okuno <Mikiya] 14987 2009-07-18 13:15 ┗[kageyama 3 <kageyama]