mysql:5792
From: ebihara <ebihara <ebiharaml@xxxxxxxxxx>>
Date: Fri, 12 Jul 2002 13:27:09 +0900
Subject: [mysql 05792] Re: 電話番号の検索
もと記事の海老原です。 引用順番変更させていたしました。 >ちろん、すでに運用されているDBで表の構成変更が難しいと言うことであれば、 >> select * from tbl where replace(tel,'-','')='033456aaaa'; 了解です。結局検索を優先させたい場合は 033456aaaa のようにーのつかない カラムを別途用意するのがベストということになるのですね。 今回はdbの変更が難しいということでもないのですが簡易的なdbなので 左辺にrelpace()を置くという方法で対応いたしました。 無事一発で動作いたしました。 大杉眞規 さんは書きました: >> select * from tbl where replace(tel,'-','')='033456aaaa'; > >とするのは左辺加工( = の左側の項)といってオススメしない…とSIの人にに話 >を聞いたことがあります。INDEXが無効化されてしまうとのことです。 >くらいであれば、パフォーマンスの劣化は体感できないかもしれません。ただ、 >このようなコーディングを日常的にしているとクセになってしまうかもしれませ >ん。 なるほど。勉強になりました。 あと、 MIYATSU Kazunari さんは書きました: >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) >一番最後のIndexをフル利用できるケースは当たり前として、likeの方がreplaceより >はマシってのは意外でした。 このLIKE を使う方法だったら 03(3456)aaaa と記録されていても対応できますね。 勉強になりました。ありがとうございました。 -------------------------------------------------------------------------- 海老原祐太郎 ebihara@xxxxxxxxxx http://www.si-linux.com/ ←組み込み Linux / Hitachi SH3Linux
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]