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]