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

mysql:484

From: (冨田昌宏) <<tommy@xxxxxxxxxx>>
Date: Sat, 02 Jan 1999 01:51:51 +0900
Subject: [mysql 484] Re: あけましておめでとうございます。


明けましておめでとうございます。

慣れない MS-Windows からメールを送ってるので、変なところがあったら
すいません (__;

> <驚いた点>
>  データベースのことはよく分かってません。だからだと思います
>  が、インデックスの偉大さに驚きました。
>  フィールド数30の table1 とフィールド数6の table2 を LEFT
>  JOIN を使って SELECT したら、 table2 のキーになるデータに
>  Index を付けなかった場合で 8 分 30 秒。Index を振った場合、
>  21 秒。なんともびっくりです。ちなみに、table1 には 600 件。
>  table2 には 8000 件ほどのデータが入っています。
>  Index っていったい何なんでしょう?^^;

Index と言っても RDBMS によって色んな方式があると思いますが、要するに
検索を速くする機構ですね...ってこれじゃ答になってないか (^^;

例えば、ある文字列を検索したい場合、単純に各レコード毎に文字列比較を
行なうとあまり速くないです。これが Index をつけない場合。

そこで、本来のテーブルとは別に、文字列と対応するレコード番号だけを
含む新たなテーブルを作成して、さらに文字列でソートしておくとします。
文字列でソート済みなので、そのテーブルでは、単純な文字列比較よりも
速く該当文字列を見つけることができます。文字列が見つかったら、本来の
テーブルのレコード番号もわかるので、本来のテーブルから該当するレコー
ドを直接参照できるようになります。これが Index をつけた場合。

まあ、これは単純な例ですが、こういうことをもっと効率よくやっていると
思えばいいと思います。

> <質問>
>  みなさんは MySQL を「うにくす」から使うことが多いのでしょう
>  か?σ(^_^)は今、Win から使用するアプリを作成しています。現
>  在 ODBC を使用していますが、他に方法は無いんでしょうかね?

一般的なインタフェースとしては、ODBC, Java, Web くらいですかね。
MySQL 固有のでもいいのなら、MySQL のクライアントライブラリを直接い
じるって方法もあるのかな。あ、Perl インタフェースってのもありますね。

あまり MS の世界はよく分からないです (^^;

--
民斗 <tommy@xxxxxxxxxx>

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

       482 1999-01-01 23:22 [<endo@xxxxxxxxxx>   ] あけましておめでとうございます。        
->     484 1999-01-02 01:51 ┣[<tommy@xxxxxxxxxx>  ]                                       
       485 1999-01-02 07:49 ┃┣[<endo@xxxxxxxxxx>   ]                                     
       494 1999-01-06 18:13 ┃┗[<yandy@xxxxxxxxxx>  ]                                     
       489 1999-01-04 10:35 ┗[Tamon Nomura <tamon@]                                       
       490 1999-01-04 11:31  ┗[民斗 <tommy@xxxxxxxx] where 節での最適化  (Re:  あけましておめでとうございます。 )
       499 1999-01-06 21:16   ┗[Tamon Nomura <tamon@]                                   
       500 1999-01-07 09:30    ┗[<endo@xxxxxxxxxx>   ]                                 
       501 1999-01-07 09:44     ┗[Hideaki Nakayama <na]                               
       503 1999-01-07 09:56      ┗[<endo@xxxxxxxxxx>   ]                             
       505 1999-01-07 10:03       ┗[Hideaki Nakayama <na]