mysql join的优化实例
SELECT `device_threshold_alert_log`.`id`, `device_threshold_alert_log`.`init_time` AS `time` FROM `device_threshold_alert_log` INNER JOIN `device_manage` ON `device_manage`.`device_id` = `device_threshold_alert_log`.`device_id` WHERE `device_threshold_alert_log`.`gateway_id` = '101608010063' AND `device_threshold_alert_log`.`init_time` > '2017-01-16 16:32:23' AND `device_manage`.`status` = '1' AND `device_manage`.`bind_id` = 1
上面的sql很少时间,
SELECT `device_threshold_alert_log`.`id`, `device_threshold_alert_log`.`init_time` AS `time` FROM `device_threshold_alert_log` INNER JOIN `device_manage` ON `device_manage`.`device_id` = `device_threshold_alert_log`.`device_id` WHERE `device_threshold_alert_log`.`gateway_id` = '101608010063' AND `device_threshold_alert_log`.`init_time` > '2017-01-16 16:32:23' AND `device_manage`.`status` = '1'
上面的sql很多时间
这两个SQL值只是对于device_manage有没有约束条件,没有约束条件的话,会导致全表来和device_threshold_alert_log来比对。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步