返回列表 发帖
查看: 1142|回复: 3

[求助] 页面底部的查询时间变长了要如何优化?另外看了下慢查询记录里有个表请求时间很久是缺少索引吗?

5

主题

121

回帖

233

积分

炉火纯青

贡献
3 点
金币
67 个
发表于 2023-12-11 19:12:56 | 查看全部 |阅读模式
比如Dismall网站底部的处理时间是0.03秒左右,我们之前最快也差不多,现在变成了0.07秒左右,不知道是哪里设置没优化好还是数据库问题,已经启用Redis
5XSKCezPJ6.jpg


另外慢查询里发现两个表的时间比较久,表是innodb引擎,请问是那里问题?
  1. # Time: 2023-12-11T10:52:54.556741Z
  2. # User@Host: root[root] @ localhost [127.0.0.1]  Id: 364698
  3. # Query_time: 4.171622  Lock_time: 0.000000 Rows_sent: 6  Rows_examined: 629667
  4. SET timestamp=1702291974;
  5. SELECT DISTINCT t.*, ti.attachment as attachmenturl, ti.remote
  6.                         FROM `pre_forum_thread` t
  7.                          INNER JOIN `pre_forum_threadimage` ti ON t.tid=ti.tid WHERE t.readperm='0'
  8.                          AND t.fid IN ('37','36','2') AND t.isgroup='0'
  9.                         AND t.displayorder>='0'
  10.                         ORDER BY t.dateline DESC
  11.                         LIMIT 0,6;
  12. # Time: 2023-12-11T10:52:55.744347Z
  13. # User@Host: root[root] @ localhost [127.0.0.1]  Id: 364782
  14. # Query_time: 1.078406  Lock_time: 0.000000 Rows_sent: 6  Rows_examined: 156282
  15. SET timestamp=1702291975;
  16. SELECT DISTINCT t.*, ti.attachment as attachmenturl, ti.remote
  17.                         FROM `pre_forum_thread` t
  18.                          INNER JOIN `pre_forum_threadimage` ti ON t.tid=ti.tid WHERE t.readperm='0'
  19.                          AND t.fid IN ('37') AND t.isgroup='0'
  20.                         AND t.displayorder>='0'
  21.                         ORDER BY t.dateline DESC
  22.                         LIMIT 0,6;
  23. # Time: 2023-12-11T10:54:16.983359Z
  24. # User@Host: root[root] @ localhost [127.0.0.1]  Id: 366522
  25. # Query_time: 1.254606  Lock_time: 0.000000 Rows_sent: 10  Rows_examined: 397061
  26. SET timestamp=1702292056;
  27. SELECT DISTINCT t.*
  28.                         FROM `pre_forum_thread` t
  29.                          WHERE t.readperm='0'
  30.                          AND t.fid IN ('82','40','41','44','43','45','63','39','87','64','51','52','88','56','48','57','59','61','60','66','67','68','70','71','72','74','76','93','79') AND t.isgroup='0'
  31.                         AND t.displayorder>='0'
  32.                         ORDER BY t.dateline DESC
  33.                         LIMIT 0,10;
  34. # Time: 2023-12-11T10:54:18.474966Z
  35. # User@Host: root[root] @ localhost [127.0.0.1]  Id: 366548
  36. # Query_time: 1.226406  Lock_time: 0.000000 Rows_sent: 10  Rows_examined: 397061
  37. SET timestamp=1702292058;
  38. SELECT DISTINCT t.*
  39.                         FROM `pre_forum_thread` t
  40.                          WHERE t.readperm='0'
  41.                          AND t.fid IN ('37','36','2') AND t.special IN ('0') AND t.isgroup='0'
  42.                         AND t.displayorder>='0'
  43.                         ORDER BY t.dateline DESC
  44.                         LIMIT 0,10;
  45. # Time: 2023-12-11T10:56:56.033320Z
  46. # User@Host: root[root] @ localhost [127.0.0.1]  Id: 369432
  47. # Query_time: 1.996411  Lock_time: 0.001000 Rows_sent: 3  Rows_examined: 397108
  48. SET timestamp=1702292216;
  49. SELECT DISTINCT t.*, ti.attachment as attachmenturl, ti.remote
  50.                         FROM `pre_forum_thread` t
  51.                          INNER JOIN `pre_forum_threadimage` ti ON t.tid=ti.tid WHERE t.readperm='0'
  52.                          AND t.fid IN ('48') AND t.isgroup='0' AND t.dateline >= '1701687413'
  53.                         AND t.displayorder>='0'
  54.                         ORDER BY t.recommends DESC
  55.                         LIMIT 0,3;
  56. # Time: 2023-12-11T10:57:06.324541Z
  57. # User@Host: root[root] @ localhost [127.0.0.1]  Id: 369624
  58. # Query_time: 2.121604  Lock_time: 0.000000 Rows_sent: 3  Rows_examined: 397222
  59. SET timestamp=1702292226;
  60. SELECT DISTINCT t.*, ti.attachment as attachmenturl, ti.remote
  61.                         FROM `pre_forum_thread` t
  62.                          INNER JOIN `pre_forum_threadimage` ti ON t.tid=ti.tid WHERE t.readperm='0'
  63.                          AND t.fid IN ('51','52','88') AND t.isgroup='0' AND t.dateline >= '1701687424'
  64.                         AND t.displayorder>='0'
  65.                         ORDER BY t.recommends DESC
  66.                         LIMIT 0,3;
复制代码



我知道答案 回答被采纳将会获得1 贡献 已有3人回答
回复

使用道具 举报

13

主题

3157

回帖

5366

积分

应用开发者

贡献
372 点
金币
169 个
QQ
发表于 2023-12-11 20:09:56 | 查看全部
0.07 已经很快了!不影响正常访问!  没必要费七八力的再去做优化!
缓存 也要有访问过 才有作用! 随着数据库的增大, 硬盘io的压力增大, 速度肯定会越来越慢的!
回复

使用道具 举报

5

主题

121

回帖

233

积分

炉火纯青

贡献
3 点
金币
67 个
 楼主| 发表于 2023-12-11 20:19:19 | 查看全部
天外飘仙 发表于 2023-12-11 20:09
0.07 已经很快了!不影响正常访问!  没必要费七八力的再去做优化!
缓存 也要有访问过 才有作用! 随着数据库 ...

因之前也是0.03秒左右,过几天就增加了,所以想知道是哪里问题,跟哪些设置有关系
回复

使用道具 举报

13

主题

3157

回帖

5366

积分

应用开发者

贡献
372 点
金币
169 个
QQ
发表于 2023-12-11 20:42:18 | 查看全部
数码达人 发表于 2023-12-11 20:19
因之前也是0.03秒左右,过几天就增加了,所以想知道是哪里问题,跟哪些设置有关系 ...

你多刷新几次看看呢!
除非慢查询 频繁出现, 偶尔出现是正常的! cpu爆表的时候  很容易出现慢查询! 随着访问量的增大, cpu和硬盘io的 可用性能肯定会越来越少!

dz的sql优化 已经非常好了!  我 50G的数据库 ssd硬盘 没啥压力! 如果机械硬盘肯定就不行了! 机械硬盘io不行
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 关注公众号
  • 有偿服务微信
  • 有偿服务QQ

手机版|小黑屋|Discuz! 官方交流社区 ( 皖ICP备16010102号 |皖公网安备34010302002376号 )|网站地图|star

GMT+8, 2025-5-8 14:58 , Processed in 0.064716 second(s), 31 queries .

Powered by Discuz! W1.0 Licensed

Cpoyright © 2001-2025 Discuz! Team.

关灯 在本版发帖
有偿服务QQ
有偿服务微信
返回顶部
快速回复 返回顶部 返回列表