MySQL查询-为什么';在这种情况下,它不使用索引吗?
MySQL查询(5.1.61版) “alerts.device\u id”上有一个索引 Explain中的MySQL不使用索引,它显示类型“ALL”,行是表中的完整行数 我不明白为什么它不使用这个索引。 我错过了什么MySQL查询-为什么';在这种情况下,它不使用索引吗?,mysql,performance,indexing,Mysql,Performance,Indexing,MySQL查询(5.1.61版) “alerts.device\u id”上有一个索引 Explain中的MySQL不使用索引,它显示类型“ALL”,行是表中的完整行数 我不明白为什么它不使用这个索引。 我错过了什么 谢谢 索引未被拾取,因为您既没有在select子句中也没有在where子句中使用它 您需要在设备上添加索引。name 你可以做一件事,强迫引擎考虑索引,如果它是主键,它的值超过0,比如: SELECT alerts.*, devices.user_id FROM
谢谢 索引未被拾取,因为您既没有在select子句中也没有在where子句中使用它 您需要在
设备上添加索引。name
你可以做一件事,强迫引擎考虑索引,如果它是主键,它的值超过0,比如:
SELECT alerts.*,
devices.user_id
FROM alerts
left JOIN devices
ON alerts.device_id = devices.id
WHERE devices.name = 'myval' and alerts.deviceid>0
请发布解释的输出。对不起,我过度简化了实际查询,遗漏了问题点!当我再次找到它时,将更新此。
SELECT alerts.*,
devices.user_id
FROM alerts
left JOIN devices
ON alerts.device_id = devices.id
WHERE devices.name = 'myval' and alerts.deviceid>0