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

mysql:14985

From: kageyama 3 <kageyama 3 <kageyama329@xxxxxxxxxx>>
Date: Sat, 18 Jul 2009 12:59:58 +0900
Subject: [mysql 14985] Re: BLOB 列のデータを大文字・小文字の区別無 く検索する方法



Mikiyaさん、返信ありがとうございます。

> SELECT data FROM tbl WHERE CAST(clm AS CHAR CHARACTER SET utf8) LIKE '%abcd%';

あー、'%abcd%'こっちはキャストは要らなかったのですね。

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

つまり、キャッシュが使えないということですね。

ということは、出来ることならばテーブルを作成する時に CREATE TABLE tbl(clm TEXT COLLATE utf8_bin) と
した方が良いですよね。

タイミングを見て、変更できれば良いのですが。


以上です。


----------------------------------------
> Date: Sat, 18 Jul 2009 12:36:50 +0900
> From: Mikiya.Okuno@xxxxxxxxxx
> Subject: [mysql 14983] Re: BLOB 列のデータを大文字・小文字の区別無 く検索する方法
> To: ml@xxxxxxxxxx
>
>
> On 18/07/2009, at 12:25 PM, kageyama 3 wrote:
>
>>
>>
>> 度々、すみません。
>>
>> SELECT data FROM tbl WHERE CAST(clm AS CHAR) LIKE CAST('%abcd%')
>
>
> SELECT data FROM tbl WHERE CAST(clm AS CHAR CHARACTER SET utf8) LIKE '%abcd%';
>
> という風に文字コードを指定することもできますよ。
> ただしこのようなクエリ(中間一致)ではテーブルスキャンが起きてしまうので注意してくださいね。
>
> --
> Mikiya Okuno, MySQL Support Engineer
> Sun Microsystems KK, Tokyo, Japan
> http://www-jp.mysql.com/
>
>

_________________________________________________________________
Hotmail が進化した!セキュリティーもばっちり!
http://clk.atdmt.com/GBL/go/153791838/direct/01/

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

     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]