【mysql】mysql如何提高视图查询速度?
最近数据库从5.5.18升级到了5.6.38,出现了一个问题,有个视图同样的数据量执行效率相比老数据库慢了20倍,应该怎么优化?
如下是视图sql:
SELECT`wz_demand`.`id` AS `id`,
`wz_demand`.`operator` AS `operator`,
`wz_member`.`username` AS `musername`,
`wz_admin`.`truename` AS `truename`,
`wz_demand`.`cid` AS `cid`,
`wz_demand`.`title` AS `title`,
`wz_demand`.`css` AS `css`,
`wz_demand`.`thumb` AS `thumb`,
`wz_demand`.`keywords` AS `keywords`,
`wz_demand`.`remark` AS `remark`,
`wz_demand`.`url` AS `url`,
`wz_demand`.`status` AS `status`,
`wz_demand`.`route` AS `route`,
`wz_demand`.`publisher` AS `publisher`,
`wz_demand`.`addtime` AS `addtime`,
`wz_demand`.`updatetime` AS `updatetime`,
`wz_demand`.`coin` AS `coin`,
`wz_demand`.`template` AS `template`,
`wz_demand`.`areaid` AS `areaid`,
`wz_demand`.`areaid_1` AS `areaid_1`,
`wz_demand`.`areaid_2` AS `areaid_2`,
`wz_demand`.`sort` AS `sort`,
`wz_demand`.`telephone` AS `telephone`,
`wz_demand`.`address` AS `address`,
`wz_demand`.`housecategory` AS `housecategory`,
`wz_demand`.`renovation` AS `renovation`,
`wz_demand`.`renovationcategory` AS `renovationcategory`,
`wz_demand`.`housetype` AS `housetype`,
`wz_demand`.`style` AS `style`,
`wz_demand`.`area` AS `area`,
`wz_demand`.`way` AS `way`,
`wz_demand`.`budget` AS `budget`,
`wz_demand`.`iscompany` AS `iscompany`,
`wz_demand`.`leadtime` AS `leadtime`,
`wz_demand`.`decorationtime` AS `decorationtime`,
`wz_demand`.`source` AS `source`,
`wz_demand`.`homestyle` AS `homestyle`,
`wz_demand`.`content` AS `content`,
`wz_demand`.`progress` AS `progress`,
`wz_demand`.`progress1time` AS `progress1time`,
`wz_demand`.`progress2time` AS `progress2time`,
`wz_demand`.`progress3time` AS `progress3time`,
`wz_demand`.`progress4time` AS `progress4time`,
`wz_demand`.`order_no` AS `order_no`,
`wz_demand`.`wait_comment` AS `wait_comment`,
`wz_demand`.`referer` AS `referer`,
`wz_demand`.`yxgsm` AS `yxgsm`,
`wz_demand`.`orderplan` AS `orderplan`,
`wz_demand`.`ispay` AS `ispay`,
`wz_demand`.`uid` AS `uid`,
`wz_demand`.`mobile` AS `mobile`,
`wz_demand`.`sflf` AS `sflf`,
`wz_demand`.`managerid` AS `managerid`,
`wz_demand`.`managername` AS `managername`,
`wz_demand`.`housekeeperid` AS `housekeeperid`,
`wz_demand`.`housekeeper` AS `housekeeper`,
`wz_demand`.`paystatus` AS `paystatus`,
`wz_demand`.`orderstatus` AS `orderstatus`,
`wz_demand`.`orderstep` AS `orderstep`,
`wz_demand`.`nodeid` AS `nodeid`,
`wz_demand`.`nodename` AS `nodename`,
`wz_demand`.`outpaystaus` AS `outpaystaus`,
`wz_demand`.`tj_name` AS `tj_name`,
`wz_demand`.`designpay` AS `designpay`,
`wz_demand`.`totalpay` AS `totalpay`,
`wz_demand`.`designno` AS `designno`,
`wz_demand`.`contactno` AS `contactno`,
`wz_demand`.`extrapay` AS `extrapay`,
`wz_demand`.`payforcompanystatus` AS `payforcompanystatus`,
`wz_demand`.`ysclsd` AS `ysclsd`,
`wz_demand`.`ysnm` AS `ysnm`,
`wz_demand`.`ysclyq` AS `ysclyq`,
`wz_demand`.`yssd` AS `yssd`,
`wz_demand`.`ysclnm` AS `ysclnm`,
`wz_demand`.`sdys` AS `sdys`,
`wz_demand`.`paystype` AS `paystype`,
`wz_demand`.`sign` AS `sign`,
`wz_demand`.`getdate` AS `getdate`,
`wz_demand`.`seriesnumber` AS `seriesnumber`,
`wz_demand`.`logname` AS `logname`,
`wz_demand`.`tj_tel` AS `tj_tel`,
`wz_demand`.`domain` AS `domain`,
`wz_demand`.`bao` AS `bao`,
`wz_demand`.`ysyq` AS `ysyq`,
`wz_demand`.`wrzl` AS `wrzl`,
`wz_demand`.`kqzl` AS `kqzl`,
`wz_demand`.`username` AS `username`,
`wz_demand`.`applytype` AS `applytype`,
`wz_demand`.`isApply` AS `isApply`,
`wz_demand`.`name` AS `name`,
`wz_demand`.`referrals` AS `referrals`,
`wz_demand`.`referral` AS `referral`,
`wz_demand`.`community` AS `community`,
`wz_demand`.`companyname` AS `companyname`,
`wz_demand`.`collection` AS `collection`,
`wz_demand`.`three_no` AS `three_no`,
`wz_demand`.`order_source` AS `order_source`,
`wz_demand`.`wait_hf` AS `wait_hf`,
`wz_demand`.`other` AS `other`,
`wz_member`.`uid` AS `muid`,
`wz_admin`.`uid` AS `auid`,
`wz_demand`.`kfzy` AS `kfzy`
FROM
(
(
`wz_demand`
LEFT JOIN `wz_member` ON ( ( `wz_demand`.`operator` = `wz_member`.`username` ) )
)
LEFT JOIN `wz_admin` ON ( ( `wz_member`.`uid` = `wz_admin`.`uid` ) )
)
这里是5.6版本执行时间和explain结果:
这里是5.5版本执行时间和explain结果:
回答
看执行计划是一样的,看不出问题在哪里,建议按照按照下面的思路排查:
1、两个环境都多执行几次,看平均时间,排查缓存影响。
2、升级后如果大部分sql都慢,可能是参数配置的问题
3、尝试重建username索引
以上是 【mysql】mysql如何提高视图查询速度? 的全部内容, 来源链接: utcz.com/a/72345.html