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

mysql:4158

From: とみたまさひろ <とみたまさひろ <tommy@xxxxxxxxxx>>
Date: Wed, 8 Aug 2001 23:19:04 +0900
Subject: [mysql 04158] Re: 条件の値によって Index が使われない

とみたです。

On Tue, 7 Aug 2001 16:49:00 +0900
"william" <william@xxxxxxxxxx> wrote:

> MySQLで以下のSQLをexplainして、理解できないことがあります。
> ケース1とケース2の違いはWHERE文に条件の値だけが違います。
> # sampletime は datetime型で、インデックスあり。
	〜〜
> ケース2:753件ヒット
> explain select name,printedpage from PRTINF
> where sampletime>='2001-08-07 00:00:01';
> +--------+------+---------------+------+------+------------+
> | table  | type | possible_keys | key  | rows | Extra      |
> +--------+------+---------------+------+------+------------+
> | PRTINF | ALL  | sampletime    | NULL | 5363 | where used |
> +--------+------+---------------+------+------+------------+
> # これは理解できない。全件の1/5なのに、なぜ総なめになるでしょう
> # 使わせる方法はありますか。

マニュアルに

key
    key 項目は、 MySQL が使用すると実際に決めたキーを示します。どのインデックス
    も選ばれなかったならば、キーは NULL です。 MySQL が間違ったインデックスを選
    択する場合、たいていは MySQL に他のインデックスを使用するように強制すること
    ができます。 myisamchk --analyze の使用、「16.1.1 myisamchk 起動構文」節参
    照、または USE INDEX/IGNORE INDEX の使用によって。「7.20 JOIN 構文」節参照。

とあるので、myisamchk --analyze してみてはいかがでしょうか。
または、SELECT 時に USE INDEX (sampletime) してみるとか。

--
とみたまさひろ <tommy@xxxxxxxxxx>
日本MySQLユーザ会 http://www.mysql.gr.jp

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

      4155 2001-08-07 16:49 ["william" <william@x] 条件の値によって Index が使われない     
->    4158 2001-08-08 23:19 ┗[とみたまさひろ <tomm]                                       
      4159 2001-08-09 13:23  ┗["william" <william@x]