1
私は、次の2つのテーブルがあります。MySQLの - パフォーマンスの問題
T1は〜10万記録 を持っており、T2は、次のクエリは〜1.5秒かかり〜6,000,000、レコードを持って
CREATE TEMPORARY TABLE T1 (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`Date` datetime NOT NULL,
PRIMARY KEY (`ID`)
)ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE T2 (
`ID` bigint(20) NOT NULL AUTO_INCREMENT,
`RecordID` int(11) NOT NULL,
PRIMARY KEY (`ID`),
KEY `ID` (`ID`),
KEY `RecordID` (`RecordID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
:
SELECT * FROM T1 INNER JOIN T2 ON T1.ID = T2.RecordID
を
次のwhere句を追加すると、約20秒かかります。
WHERE T1.Date <= '2017-02-18'
where原因を含むクエリがレコードを返さないことが分かっています。
お願いします。
「日付」列にインデックスを追加することを検討してください。 – user5226582