建议对team表的root字段加索引

2018-03-12 15:58:44
李泽宇
  • 访问次数: 5
  • 注册日期: 2016-07-11
  • 最后登录: 2020-09-15
  • 我的积分: 267
  • 门派等级: 玄清 等级1 居士

使用时发现线上nginx有slow-log,检查了一下是 productModel::getPrivProducts 查询数据库造成的,这个查询用了2秒多


SELECT distinct t1.*,t3.account as teamAccount FROM `zt_product` AS t1  LEFT JOIN `zt_projectproduct` AS t2  ON t1.id = t2.product  LEFT JOIN `zt_team` AS t3  ON t2.project = t3.root  LEFT JOIN `zt_project` AS t4  ON t2.project = t4.id  WHERE t1.deleted  = '0' AND  t3.type  = 'project' AND  t4.deleted  = '0'

14760 rows in set (2.21 sec)


我们的产品、项目和团队比较多,explain 发现 zt_team 没有索引,走了一次全表扫描(zt_team 我们有5万多数据),对 root 字段加索引后,问题有改善,现在基本1秒就完成了

沙发
2018-03-12 16:54:23
石洋洋
  • 访问次数: 6465
  • 注册日期: 2011-04-06
  • 最后登录: 2024-04-23
  • 我的积分: 96538
  • 门派等级: 幽灵 等级6 修罗
谢谢反馈。
1/1 1