mysql:4773
From: Tomohiro 'Tomo-p' KATO <Tomohiro 'Tomo-p' KATO <tomop@xxxxxxxxxx>>
Date: Tue, 04 Dec 2001 22:09:18 +0900
Subject: [mysql 04773] Re: 検索スピードアップ
こんばんは、加藤です。 In message "[mysql 04772] 検索スピードアップ", "JRCS開発 柄本" <tukamoto@xxxxxxxxxx> wrote: >WIN98, VC6.0にてMySQL(3.23.39)を使用しています。 >1テーブルのレコード数は5万件、カラム数は2000。 >IDにインデックスを作成しています。 (snip) >このテーブルから、検索開始点(MaxID = 48)と >インターバル(interval = 3)を設定し、 >検索開始点からインターバルを引いていき、 >そのIDを検索していくものを作成しています。 >例でいくと、ID = 48,45,42,39,36,33,30,・・・・・ >のレコードを取得する形となります。 > >現在、色々と検討した結果、 >"SELECT colum_name FROM table_name WHERE ID IN(strData)" > (strDataは前もってFOR文で設定済み >という形を取っております。 >インターバルが"1"だと「即時」結果が出るのですが、 >インターバルが広がると、3〜5SEC程、掛かってしまいます。 >これから、レコードが増えていくと、どうなるのかとても不安です。 文章だと却ってややこしいのでコードで書きます(汁)。 --ここから char *pBuf; int nInterval; int nMax; ... sprintf(pBuf, "SELECT column FROM table WHERE (ID %% %d ) = %d AND ID <= %d", nInterval, nMax % nInterval, nMax); --ここまで こういうことですか? -- ________________________________ _/_/ Tomohiro "Tomo-p" KATO _/_/ e-mail : tomop@xxxxxxxxxx _/_/ http://www.teamgedoh.net/
4744 2001-11-29 14:54 [<yamauchi@xxxxxxxxxx] ODBC ドライバ経由での CREATE TABLE でエラー 4772 2001-10-02 21:05 ┗["JRCS開発 柄本" <tuk] 検索スピードアップ -> 4773 2001-12-04 22:09 ┣[Tomohiro 'Tomo-p' KA] 4776 2001-10-03 08:51 ┃┗["JRCS開発 柄本" <tuk] 4777 2001-12-05 11:54 ┃ ┗[Tomohiro 'Tomo-p' KA] 4778 2001-10-03 14:18 ┃ ┗["JRCS開発 柄本" <tuk] 4782 2001-12-05 15:02 ┃ ┗[Tomohiro 'Tomo-p' KA] 4774 2001-12-04 22:20 ┣["Hideki Hashinaga" <] 4775 2001-12-05 03:30 ┃┗["Hideki Hashinaga" <] 4791 2001-12-06 00:40 ┗[とみたまさひろ <tomm] 4797 2001-12-07 22:12 ┗["JRCS開発 柄本" <tuk] 4798 2001-12-08 03:22 ┣[Hiroshi Takiguchi <t] 4800 2001-12-08 15:21 ┃┗[Hiroshi Takiguchi <t] 4799 2001-12-08 10:33 ┗[とみたまさひろ <tomm]