【发布时间】:2017-10-18 19:44:20
【问题描述】:
我有一个看法:vcompanyendofday
以下查询只需 0.7 秒即可执行
Select * from vcompanyendofday
但是这个查询的简单 where 条件大约需要 200.0 秒
select * from vcompanyendofday where companyid <= 51;
这是视图定义:
CREATE VIEW `vcompanyendofday` AS
select `c`.`companyid` AS `companyid`,
`c`.`scripcode` AS `scripcode`,
`e`.`eoddate` AS `eoddate`,
`e`.`prevclose` AS `prevclose`,
`e`.`delqty` AS `delqty`
from (
`company` `c`
left join
`endofday` `e`
on ((`c`.`companyid` = `e`.`companyid`)))
where (`e`.`eoddate` =
(
select max(`e2`.`eoddate`) AS `max(eoddate)`
from `endofday` `e2`
where (`e2`.`companyid` = `c`.`companyid`)
)
);
【问题讨论】:
标签: mysql optimization