mysql 慢速_加快慢速mysql查询-程序员宅基地

技术标签: mysql 慢速  

我正在尝试提高应用程序的性能。我可能需要创建在cron上运行的汇总表,所以应用程序不需要花费太多时间(5-10秒)。这是最好的主意吗?

鉴于下表:

mysql> describe school_data_sets_numeric_data;

+--------------+---------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+--------------+---------------+------+-----+---------+----------------+

| id | int(11) | NO | PRI | NULL | auto_increment |

| data_set_nid | int(11) | NO | MUL | NULL | |

| school_nid | int(11) | NO | MUL | NULL | |

| year | int(11) | NO | MUL | NULL | |

| description | varchar(255) | NO | | NULL | |

| value | decimal(18,5) | NO | | NULL | |

+--------------+---------------+------+-----+---------+----------------+

6 rows in set (0.00 sec)以下查询(为每所学校的每个data_set_nid运行一次)

此查询运行速度很快(0秒):

SELECT year, description, CONCAT(FORMAT((value/(SELECT SUM(value)

FROM `school_data_sets_numeric_data` as numeric_data_inner

WHERE year = numeric_data_outer.year and data_set_nid = numeric_data_outer.data_set_nid and school_nid = numeric_data_outer.school_nid)) * 100, 2), '%') as value

FROM `school_data_sets_numeric_data` as numeric_data_outer

WHERE data_set_nid = 38251 and school_nid = 32805 ORDER BY id DESC;说明:

+----+--------------------+--------------------+------+---------------------------------------------+--------------+---------+-----------------------------------------------------------------------------------------------------------+------+-----------------------------+

| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |

+----+--------------------+--------------------+------+---------------------------------------------+--------------+---------+-----------------------------------------------------------------------------------------------------------+------+-----------------------------+

| 1 | PRIMARY | numeric_data_outer | ref | data_set_nid,data_set_nid_2,school_nid | data_set_nid | 8 | const,const | 17 | Using where; Using filesort |

| 2 | DEPENDENT SUBQUERY | numeric_data_inner | ref | year,data_set_nid,data_set_nid_2,school_nid | data_set_nid | 8 | rocdocs_main_drupal_7.numeric_data_outer.data_set_nid,rocdocs_main_drupal_7.numeric_data_outer.school_nid | 9 | Using where |

+----+--------------------+--------------------+------+---------------------------------------------+--------------+---------+-----------------------------------------------------------------------------------------------------------+------+-----------------------------+此查询运行缓慢(1.43秒):

SELECT year, description, CONCAT(FORMAT((SUM(value)/(SELECT SUM(value)

FROM `school_data_sets_numeric_data` as numeric_data_inner

WHERE year = numeric_data_outer.year and data_set_nid = numeric_data_outer.data_set_nid)) * 100, 2), '%') as value

FROM `school_data_sets_numeric_data` as numeric_data_outer

WHERE data_set_nid = 38251 GROUP BY year,description ORDER BY id DESC;说明:

+----+--------------------+--------------------+------+----------------------------------+----------------+---------+-------+-------+----------------------------------------------+

| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |

+----+--------------------+--------------------+------+----------------------------------+----------------+---------+-------+-------+----------------------------------------------+

| 1 | PRIMARY | numeric_data_outer | ref | data_set_nid,data_set_nid_2 | data_set_nid_2 | 4 | const | 90640 | Using where; Using temporary; Using filesort |

| 2 | DEPENDENT SUBQUERY | numeric_data_inner | ref | year,data_set_nid,data_set_nid_2 | year | 4 | func | 38871 | Using where |

+----+--------------------+--------------------+------+----------------------------------+----------------+---------+-------+-------+----------------------------------------------+

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_35457696/article/details/114799302

智能推荐

[小说]~红耀石~-程序员宅基地

文章浏览阅读226次。微型小说收藏 之 カーネリア : カーネリア, 即红耀石, 大家可能都不太熟悉, 但喜欢日式RPG的朋友对英雄传说VI之空之轨迹一定都不陌生吧...按照英雄传说系列的惯例, 几乎每部游戏中都可以找到一部精美的小说...这片小说就是出自空之轨迹FC的... 想当年, 我收集了好久才找到全套...呵呵, 不过这也是英...

《视觉SLAM十四讲》学习笔记-3D-3D位姿估计-ICP_icp求解位姿-程序员宅基地

文章浏览阅读4.9k次。ICP问题问题描述:假设匹配好的3D点为: P=p⃗ 1,⋯,p⃗ n,  P′=p⃗ ′1,⋯,p⃗ ′nP=p→1,⋯,p→n,  P′=p→1′,⋯,p→n′\mathbf{P} = { \vec{p}_1, \cdots, \vec{p}_n }, ~~\mathbf{P}' = { \vec{p}'_..._icp求解位姿

extra qualification ‘ContourLine::’ on member ‘GetLengthBetweenPoint’ [-fpermissive] 的解决方法_extra qualification ‘sensead::scenemapping::laneli-程序员宅基地

文章浏览阅读7.5k次,点赞3次,收藏3次。文章源代码如下:Shapefile.hclass ContourLine{public: ContourLine(); //ShapeFile(char *); ~ContourLine(void); void ReadContour(char*); void SavaContour(char*); vector mContours;//等高线 double MinEl_extra qualification ‘sensead::scenemapping::lanelinefilter::’ on member ‘

layUI子页面向父页面传值_layui子窗体向父窗体传值-程序员宅基地

文章浏览阅读1.4w次,点赞2次,收藏10次。今天遇到了一个问题,父子iframe传值问题,百度了很多,都没有解决子页面像父页面传值问题如图所示:父页面: 子页面:点击附件就会进入子页面,这里面进行文件上传,需要将上传好的文件ID传回父页面中我自己写了一个通用方法:其中也包括了弹出框通用方法/** * layui弹出框共同方法 * @param title 标题 * @param url 请求的..._layui子窗体向父窗体传值

win10网络显示不了别人的计算机,win10共享网上邻居看不到怎么办_win10网上邻居找不到其它电脑的解决方法...-程序员宅基地

文章浏览阅读1.7w次,点赞11次,收藏33次。最近有朋友问小编win10共享网上邻居看不到怎么办,对于这个问题,应该还有很多朋友不明白。有时候我们发现网上邻居上找不到其它电脑,这是怎么回事呢?其实这是设置不当的问题,那么应该如何解决此问题呢?别着急,今天小编就针对这个问题,为大家带来win10网上邻居找不到其它电脑的解决方法。win10网上邻居找不到其它电脑的解决方法:1、首先,按Win+X选择“网络连接”,点击右下方的“网络和共享中心”;2..._win10网上邻居看不到别的电脑

c语言用指针取出字节,在C语言中一个指针占用多少字节。-程序员宅基地

文章浏览阅读931次。指针即为地址,指针几个字节跟语言无关,而是跟系统的寻址能力有关,譬如以前是16为地址,指针即为2个字节,现在一般是32位系统,所以是4个字节,以后64位,则就为8个字节。扩展资料:在64位机器中:char类型占1个字节short类型占2个字节int类型占4个字节long类型占4个字节unsigned int类型占4个字节float类型占4个字节double类型占8个字节long double类型占..._c语言中指针占用几个字节

随便推点

MYSQL+flask房屋租赁系统 53106(免费领源码)计算机毕业设计选题推荐上万套实战教程JAVA、PHP,node.js,C++、python等-程序员宅基地

文章浏览阅读974次,点赞28次,收藏21次。关注●点赞收藏并私信博主,免费领取项目源码哦~本论文主要论述了如何使用flask房屋租赁系统 ,本系统将严格按照软件开发流程进行各个阶段的工作,采用Python技术,面向对象编程思想进行项目开发。在引言中,作者将论述房屋租赁系统的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统进行各个阶段分析设计。本系统的使用可以实现本房屋租赁系统管理的信息化,可以方便管理员进行更加方便快捷的管理,可以提高房屋租赁系统的管理效率。

中后台管理信息系统通用原型方案、业务中台管理系统、业务中台架构、管理信息系统、订单管理、客户管理、货源管理、财务管理、客服管理、营销管理、办公申请、协作管理、CMS、OA、CRM、ERP、Axure_统一支付中台 原型设计-程序员宅基地

文章浏览阅读991次。本作品是一套通用型的中后台信息系统原型方案,可以快速扩展并输出标准美观的中后台产品原型,极大的提升输出效率和节省协作成本。方案中提供了几十套不同风格和结构的系统框架,并涵盖了大量的常用组件和通用页面模板,可以满足各类系统类原型设计需求,快速输出各种管理信息系统,如CMS、OA、CRM、ERP、POS等系统原型。本次发布的V2版本在旧版基础上进行了全新的改版,从整体到细节都进行了非常细致的打磨和升级。另外,为了顺应Axure rp9新版本过渡的趋势,以及推动新版本在行业内的普及,本作品同样是完全使用Axure_统一支付中台 原型设计

element ui里给table添加动态最大高度_csdn table 最大高 压缩 数据增加-程序员宅基地

文章浏览阅读1.5k次。element ui里给table添加动态最大高度 很多时候我们需要做一个高度自适应的表格,在添加和删除行数的时候,高度会随之改变,但为了美观,这个高度在大于一定值之后,又要固定显示滚动条。 已知el-table里,max-height这个属性的合法的值为数字或者单位为 px 的高度。无法识别响应式的css。 从大神文章中得到启示: https://blog.csdn.net/fairyier/article/details/99858880 但以上文章在我所说的案例中还会出现一个问题:当删除_csdn table 最大高 压缩 数据增加

从windows到ubuntu---虚拟光驱的使用_ubuntu虚拟光驱怎么打开-程序员宅基地

文章浏览阅读823次。 windows中我们通常通过安装虚拟光驱软件来使用虚拟光驱;而linux中只需要使用mount命令就能做到。 关于挂接命令(mount)的使用说明请查看这里。下面说明如何把一个xxx.iso光盘镜像文件装入虚拟光驱。超级简单: sudo mount -o loop xxx.iso /cdrom_ubuntu虚拟光驱怎么打开

springboot/java/php/node/python养老院看护系统的设计与实现【计算机毕设】-程序员宅基地

文章浏览阅读24次。后端由Spring Boot提供支持,前端由Vue.js构建,数据存储和管理通过MySQL和Navicat实现,整个开发流程由Maven进行管理,并在Tomcat服务器上运行。开发工具:idea/eclipse/myeclipse。环境配置软件: JDK1.8+Maven3.3.9。数据库管理工具:Navicat10以上版本。操作系统:win7以上,最好是win10。文末可领取本课题的JAVA源码参考。数据库:mysql5.7或8.0。服务器:Tomcat7.0。

vue左右联动_vue实现左侧目录和右边内容联动-程序员宅基地

文章浏览阅读390次。***_vue实现左侧目录和右边内容联动