が、私はこのクエリを持って説明します。たとえば、この場合、3597(1199x3)のスキャンが実行されるか、1199だけが実行されますか? I「はDDATA、ORDER BY」テーブルに走査線を追加する場合、「PMS_DISPO」なる使用は
1)I節スキャンは、もはや使用する「持たない」の代わりに「WHERE」句を使用する場合1130
2)インデックス。どのように可能ですか?
3)私はPMS_STAGIONI.CSTAGIONI(主キーを表示したい場合)ことを私に示して説明します。
+----+-------------+--------------+-------+---------------+---------------------+---------+------+------+----------+--------------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+--------------+-------+---------------+---------------------+---------+------+------+----------+--------------------------------+
| 1 | SIMPLE | PMS_STAGIONI | ALL | NULL | NULL | NULL | NULL | 3 | 100.00 | Using temporary |
| 1 | SIMPLE | PMS_DISPO | index | NULL | IDX_DDATA_PMS_DISPO | 3 | NULL | 1130 | 100.00 | Using index; Using join buffer |
+----+-------------+--------------+-------+---------------+---------------------+---------+------+------+----------+--------------------------------+
がどのように私は他のインデックスの使用を強制することができますか?
ありがとうございます。
編集:
"PMS_DISPO" の構造は次のとおりです。
CREATE TABLE IF NOT EXISTS `PMS_DISPO` (
`ID` int(11) NOT NULL AUTO_INCREMENT ,
`CPRENOTA` int(11) NOT NULL,
`DDATA` date NOT NULL,
`CCATRIS` int(4) NOT NULL,
`NQUANT` int(4) NOT NULL,
`CAZIENDA` int(4) NOT NULL,
`CAFFILIATO` int(4) NOT NULL,
PRIMARY KEY (`ID`),
KEY `IDX_DDATA_PMS_DISPO` (`DDATA`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1084 ;
そして "PMS_STAGIONI" です:
CREATE TABLE IF NOT EXISTS `PMS_STAGIONI` (
`CSTAGIONE` int(11) NOT NULL,
`NVALIDI` tinyint(2) NOT NULL,
`BECCEZIONE` tinyint(1) NOT NULL,
`AGGSET` varchar(7) DEFAULT NULL,
`DINIZVAL` date NOT NULL,
`DFINEVAL` date NOT NULL,
`CAZIENDA` int(4) NOT NULL,
`ID` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`ID`),
KEY `CSTAGIONE` (`CSTAGIONE`),
KEY `IDX_INIZFINEVAL_PMS_STAGIONI` (`DINIZVAL`,`DFINEVAL`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
両方のテーブルの他のEXPLAINとSHOW CREATE TABLEを見ることができますか? – Strawberry
私は間違っているかもしれませんが、私は実際にこの情報からスキャン回数を決定することはできないと考えています。 – Strawberry
私が実際に正しいことをしているかどうかを判断するための基準は何ですか?インデックスを使用するだけの事実? – sirion1987