mysql:2228
From: (moeru) <<moeru@xxxxxxxxxx>>
Date: Thu, 22 Jun 2000 17:08:44 +0900
Subject: [mysql 02228] Re: プログラム効率とデータベースの処理スピード
2000/06/21 23:39:18 +0900にとみたまさひろ <tommy@xxxxxxxxxx>さんに頂いた 「[mysql 02227] Re: プログラム効率とデータベースの処理スピード」への返事です。 モエルです。 とみたさんコメントありがとうございますm(__)m >計算しないといけない条件にはインデックスは使われないんじゃないかと。 > >今回の条件は > ends - UNIX_TIMESTAMP() < 86400 and ends - UNIX_TIMESTAMP > 0 >ですが、UNIX_TIMESTAMP() はプログラム側でも得られますよね。 >で、SQL を作るときにその値を使用すれば定数との比較になるので、 >インデックスが使われるようになると思います。 > ends < $time+86400 and ends > $time >または > ends between $time and $time+86400 >のようにして。 理解しました(^^) INDEXを指定したフィールドに+,-,/,*などの演算子や関数を使用するとINDEXが使われないんですね。 explainの存在も知らなかったので、これから多用したいと思います。 ところで、12.4 章を読んでみたのですが 演算子や関数を使用するとINDEXが使われないってこと分かりにくかったです(^^; でも、この事は、持ってる本のマニュアルにしっかり書いてあったのでした(;^_^A 12 章ってかなりマニアックな内容ですね。 プリントアウトしたので、電車の中で勉強しようと思います。 モエル
2219 2000-06-19 23:37 [<moeru@xxxxxxxxxx> ] SELECT 句で演算をした別名は WHERE 句では使えない? 2220 2000-06-20 01:24 ┣["Ningfeng Yang" <yan] 2221 2000-06-20 05:39 ┗[Tamon <tamon@xxxxxxx] 2224 2000-06-20 18:51 ┗[<moeru@xxxxxxxxxx> ] 2225 2000-06-21 01:27 ┗[Tamon <tamon@xxxxxxx] 2226 2000-06-21 18:12 ┗[<moeru@xxxxxxxxxx> ] プログラム効率とデータベースの処理スピード 2227 2000-06-21 23:39 ┗[とみたまさひろ <tomm] -> 2228 2000-06-22 17:08 ┗[<moeru@xxxxxxxxxx> ]