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

mysql:4155

From: "william" <"william" <william@xxxxxxxxxx>>
Date: Tue, 7 Aug 2001 16:49:00 +0900
Subject: [mysql 04155] 条件の値によって Index が使われない

吉です。

MySQLで以下のSQLをexplainして、理解できないことがあります。
ケース1とケース2の違いはWHERE文に条件の値だけが違います。
# sampletime は datetime型で、インデックスあり。

ケース1:189件ヒット
explain select name,printedpage from PRTINF
where sampletime>='2001-08-07 16:00:01';
+--------+-------+---------------+------------+------+------------+
| table  | type  | possible_keys | key        | rows | Extra      |
+--------+-------+---------------+------------+------+------------+
| PRTINF | range | sampletime    | sampletime |  907 | where used |
+--------+-------+---------------+------------+------+------------+
# これは予想通り、インデックスを使ってくれる


ケース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なのに、なぜ総なめになるでしょう
# 使わせる方法はありますか。

-----
william@xxxxxxxxxx



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

->    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]