Newb on Advanced SQL-запросы, так что спасибо заранее!Mysql Query Optimization for Speed
У меня есть 2 стола, мониторы и статистика. Таблица статистики составляет 1 миллион плюс строки. Я просматриваю мониторы, которые я хочу, а затем запрашиваю таблицу статистики для последней записи. Из-за размера таблицы статистики - он медленный, 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%')
значения stats.key являются UNIX метки времени, но столбец INT и я не могу преобразовать его по разным причинам. Будет ли MAX INT работать быстрее, чем предел 1?
Любые предложения по структуре запросов очень ценятся!
Каков вывод 'EXPLAIN ...'? – jonbaldie