mysql:3833
From: "MINOHATA Norio" <"MINOHATA Norio" <minohata@xxxxxxxxxx>>
Date: Wed, 27 Jun 2001 10:33:04 +0900
Subject: [mysql 03833] Re: or 条件で、 Index が使われない
> また特許のデータベースを例とします。 > 公報の書誌事項の項目は20個ほどあります。 > > ID 項目名 値 > ---------------------------------- > 1 登録日 1999/01/01 > 1 公開日又は公表日 1999/06/01 > 1 キーワード xxxx > 1 キーワード yyyy > ..... > ---------------------------------- > > などなど、1件の公報につき、20個ほどのレコードが出来ます。 > すると、このテーブルは楽に1億を超えるレコード数になります。 > MySQLって大丈夫? 1億レコードが大丈夫かどうかはわかりませんが…。 「値」の項目を日付やキーワードの寄せ鍋にするのは あまり美しくないですし、 後々問題が発生しそうな予感もしますので、 [mysql 03822]にて滝口さんが > create temporary table hoge (primary key(a)) > select * from T1 where a like 'A123%'; > insert ignore into hoge select * from T1 where b like 'B123%'; > select count(*) from hoge; > > こんなんで、どうでしょうか。かなり速いはずです。 と書かれていたように、一時テーブルを使って SQLを複数回実行する方がすっきりすると思います。 # 2行目は多分 # insert ignore into hoge select * from T1 where a like 'A123%'; # の間違いですよね? # 個人的には、キーワードと日付という全く種類の異なる条件を # ORで連結することに果たして意味があるのかどうか(実際に # そのような使われ方がされるか、また、その使われ方が役に # 立つかどうか)は疑問ですが…。 -- 箕畑典男 http://www.onmap.co.jp/ mailto:minohata@xxxxxxxxxx
3815 2001-06-25 16:13 ["william" <william@x] or 条件で、 Index が使われない 3816 2001-06-25 17:58 ┣[Akihiko Shinohara <s] 3817 2001-06-25 18:39 ┃┗["william" <william@x] 3820 2001-06-25 19:08 ┃ ┗[Akihiko Shinohara <s] 3821 2001-06-25 19:31 ┃ ┗["MINOHATA Norio" <mi] 3828 2001-06-26 10:31 ┃ ┗["william" <william@x] -> 3833 2001-06-27 10:33 ┃ ┗["MINOHATA Norio" <mi] 3834 2001-06-27 11:46 ┃ ┣["西田 玄" <nishida@x] MyODBC で UPDATE ができない 3835 2001-06-27 12:53 ┃ ┃┣[Kengo Jinno <kengo@x] 3837 2001-06-27 13:59 ┃ ┃┃┗["西田 玄" <nishida@x] 3839 2001-06-27 16:33 ┃ ┃┃ ┗["william" <william@x] 3840 2001-06-27 16:58 ┃ ┃┃ ┗["西田 玄" <nishida@x] 3863 2001-06-29 12:01 ┃ ┃┃ ┗["西田 玄" <nishida@x] 3836 2001-06-27 13:22 ┃ ┃┗[madara <madara@xxxxx] 3838 2001-06-27 16:20 ┃ ┗[Hiroshi Takiguchi <t] 3818 2001-06-25 18:41 ┣[Seiji Tateyama <tate] 3819 2001-06-25 19:00 ┃┣["william" <william@x] 3825 2001-06-26 06:47 ┃┗[とみたまさひろ <tomm] 3826 2001-06-26 09:36 ┃ ┗["MINOHATA Norio" <mi] 3822 2001-06-25 20:36 ┗[Hiroshi Takiguchi <t]