我的查询
SELECT Info.InfoID,
SessionInfo.SessionInfoID,
SessionInfo.ANI,
ANumber.ANumber,
tmfInfo.PTime,
tmfInfo.PTry,
SessionInfo.CardID,
tmfInfo.Status
FROM tmfInfo,
SessionInfo,
ANumber ,
ANumberLog,
ANumberGroup,
ANumberGroupLog
WHERE (tmfInfo.IVRSessionInfoID = SessionInfo.IVRSessionInfoID)
AND (SessionInfo.ANumberLogID = ANumber.ANumberLogID)
AND (ANumber.AccessNumberLogID = ANumberLog.ANumberLogID)
AND (ANumberrLog.ANumberGroupID = ANumberGroup.ANumberGroupID)
AND (ANumberGroup.ANumberGroupLogID = ANumberGroupLog.ANumberGroupLogID)
AND (SessionInfo.SessionCallTime >= '2013-08-01 00:00:00'
AND (SessionInfo.SessionCallTime <= '2013-08-01 23:59:59')
AND (ANumberLog.IsDeleted = '0')
AND (ANumberLog.IsActive = '1')
AND (ANumberGroupLog.IsDeleted = '0')
AND (ANumberGroupLog.IsActive = '1')
ORDER BY SessionInfo.SessionCallTime,tmfInfo.PTime DESC;
解释查询结果
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE DtmfInfo ALL SessionInfoID 1728919 Using temporary; Using filesort
1 SIMPLE SessionInfo eq_ref PRIMARY,SessionCallTime,ANumberLogID PRIMARY 8 IVRDtmfInfo.SessionInfoID 1 Using where
1 SIMPLE Anumber ref AnumberLogID AnumberLogID 5 SessionInfo.ANumberLogID 1 Using where
1 SIMPLE AnumberLog eq_ref PRIMARY,AcumberGroupID,IsActive,IsDeleted PRIMARY 4 SessionInfo.ANumberLogID 1 Using where
1 SIMPLE AnumberGroup eq_ref PRIMARY,ANumberGroupLogID PRIMARY 4 AnumberLog.ANumberGroupID 1
1 SIMPLE AnumberGroupLog eq_ref PRIMARY,IsActive,IsDeleted PRIMARY 4 Using where Using where Using where
我在没有使用索引的 SessionInfoID 字段查询 DtmfInfo 表上有一个索引...。
任何帮助/解释都会有所帮助。使用 mysql 5.5.14