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

mysql:5784

From: "MIYATSU Kazunari" <"MIYATSU Kazunari" <mid@xxxxxxxxxx>>
Date: Thu, 11 Jul 2002 17:33:32 +0900
Subject: [mysql 05784] Re: 電話番号の検索

うーん。そうだよねー。再利用できないもんなー。
と、件数を水増しして(262154件)つらつらとEXPLAINを使ってIndexの使用状況を見な
がら、打っていると

mysql> insert into address set telephone='1211-7874-2122';
Query OK, 1 row affected (0.00 sec)

mysql> select * from address where replace(telephone,'-','')='121178742122';
6 rows in set (0.47 sec)

mysql> insert into address set telephone='1211-7874-2122';
Query OK, 1 row affected (0.00 sec)

mysql> select * from address where telephone like '1%2%1%1%7%8%7%4%2%1%2%2';
7 rows in set (0.38 sec)

mysql> insert into address set telephone='1211-7874-2122';
Query OK, 1 row affected (0.00 sec)

mysql> select * from address where telephone='1211-7874-2122';
8 rows in set (0.01 sec)

一番最後のIndexをフル利用できるケースは当たり前として、likeの方がreplaceより
はマシってのは意外でした。

---MySQLマニュアル---
>MySQL はどのようにインデックスを使用するか?
>MySQL は、もし LIKE がワイルドカードから始まっていなくて、ある種固定さ
>れた文字で始まっているなら、 LIKE の評価にインデックスを使用します。
----------------------------------------------------------

これかな。いや勉強になりました。応用できそうな案件が幾つか浮かんできました。


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

      5779 2002-07-11 15:02 [ebihara <ebiharaml@x] 電話番号の検索                          
      5780 2002-07-11 15:31 ┣[遠藤 俊裕 <endo_t@xx]                                       
      5781 2002-07-11 15:34 ┣["Yuya.Nishida." <yuy]                                       
      5782 2002-07-11 15:41 ┗["MIYATSU Kazunari" <]                                       
      5783 2002-07-11 16:03  ┗[大杉眞規  <osugi@xxx]                                     
->    5784 2002-07-11 17:33   ┣["MIYATSU Kazunari" <]                                   
      5792 2002-07-12 13:27   ┗[ebihara <ebiharaml@x]