[前][次][番号順一覧][スレッド一覧]

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]