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

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]