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]