Mysql查询速度优化

Mysql查询速度优化,mysql,Mysql,关于高级SQL查询的新手,请提前感谢 我有两个表、监视器和统计数据。统计表有100多万行。我查找我想要的监视器,然后查询stats表中的最新条目。由于统计表的大小-它是缓慢的,15秒以上 select `Service`.`monitors`.`host` AS `host`, `Service`.`monitors`.`port` AS `port`, `Service`.`monitors`.`alias` AS `alias`, (select `

关于高级SQL查询的新手,请提前感谢

我有两个表、监视器和统计数据。统计表有100多万行。我查找我想要的监视器,然后查询stats表中的最新条目。由于统计表的大小-它是缓慢的,15秒以上

select `Service`.`monitors`.`host` AS `host`,
       `Service`.`monitors`.`port` AS `port`,
       `Service`.`monitors`.`alias` AS `alias`,
       (select `Service`.`stats`.`value` 
        from `Service`.`stats` 
        where (
            concat('monitor',
                 cast(`Service`.`monitors`.`id` as char charset utf8)) 
            = convert(`Service`.`stats`.`series` using utf8)) 
        order by `Service`.`stats`.`key` desc limit 1) AS `val` 
from   `Service`.`monitors` 
where  (`Service`.`monitors`.`host` like '%te1%')
key值是unix时间戳,但列是INT,由于各种原因,我无法转换它。MAX INT的工作速度会比限制1快吗


非常感谢您对查询结构的任何建议

问题在于你的第一手数据没有很好的组织;如果您需要在每个位置执行操作并插入子查询,MySQL优化器将永远无法找到优化查询和扫描更少行以获得结果的方法。

解释的输出是什么…?同意-我正在尝试在重新进行数据库设计之前尽可能提高性能。