mysql 数据几十万 CPU过高

 保佑欣疼你的芯疼 发布于 2022-10-31 09:54

一个数据表数据有几十万的样子 在查询页面反复的时候 CPU特别高基本爆满
SQl语句
select count(*) from emp where catid <> 3 and cid =2; 用户做分页数量
select * from emp limit 1,10; 本页显示的

4 个回答
  • 这个可以用延迟关联查询(索引覆盖查询)

    2022-10-31 22:36 回答
  • InnoDB是没有直接保存表的数据总数的,select count(*) from emp;要扫一遍索引,反复查当然要耗CPU。

    我的测试表有两千万数据,没缓存时count(*)要15秒,有缓存后也要3秒。

    show table status where Name = 'your table name'

    可以拿到近似的行数。

    2022-10-31 22:36 回答
  • sql 语句 发一下。

    2022-10-31 22:37 回答
  • 你这个根本没有访问索引,直接读硬盘数据

    2022-10-31 22:37 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有