0

0

分享自己三天的性能调优遇到的一些问题

零下一度

零下一度

发布时间:2017-05-06 14:56:30

|

1591人浏览过

|

来源于php中文网

原创

这几天都在看一个性能调优的存储过程,该存储过程在客户生产环境(数据库为mysql 5.1 )的运行时间为30到40多分钟,客户的要求是提高

该存储过程的实现:

1.两个表的查询(由于业务需要,还涉及到该表的子查询),分别插入到临时表;两个表的数据分别为310W+,120W

2.  中间还需要做一些处理,将临时表的数据group by插入到另一个临时表;

3.最后将临时表的数据group by插入到一张正式表,插入的数据140W+

接着这几天就在优化性能的路上越走越远,尝尽了各种方法,也尝到了各种苦头。

分享自己三天的性能调优遇到的一些问题

图片发自App

各种各样的尝试:

一、我感觉这实现的逻辑有点复杂,然后按照我的想法把实现简化了。然而性能并没有得到改善。因为我的实现是把大数据量提到了前面,而后面的操作还得争对这部分大数据量进行操作,比如group by。所以虽然我的实现在逻辑上简化了,但是性能并没有提升。

二、根据不同的逻辑标识,创建了两套临时表,这样一张表的数据量就不会那么大,希望给后面的操作减少些压力。还是以失败告终。原因是因为逻辑标识的设置,所有都是走的一套逻辑,第二套逻辑根本就只是走过过场,不会真正去查那百万数据的表,所以压力还是在那300多万的表。

三、使用预处理语句。其实对预处理语句的机制不是太明白,只是听说预处理的效率更高。性能还是没提升,大概是因为并没有太多相似的查询或插入吧。嗯,不是太明白预处理机制。

四、将子查询拿掉,先用临时表保存这部分数据。这样那300多万数据的表还是得查两次,没啥性能提升。

五、将临时表的引擎由myisam改为memory,数据库的全局变量max_heap_table_size,tmp_table_size也设置为了1000M,同生产环境。结果还是报

魔法映像企业网站管理系统
魔法映像企业网站管理系统

技术上面应用了三层结构,AJAX框架,URL重写等基础的开发。并用了动软的代码生成器及数据访问类,加进了一些自己用到的小功能,算是整理了一些自己的操作类。系统设计上面说不出用什么模式,大体设计是后台分两级分类,设置好一级之后,再设置二级并选择栏目类型,如内容,列表,上传文件,新窗口等。这样就可以生成无限多个二级分类,也就是网站栏目。对于扩展性来说,如果有新的需求可以直接加一个栏目类型并新加功能操作

下载
The table 'tmp_item_bu_parter_price' is full

,所以说数据量太大,导致内存撑爆?

六、也是在逻辑上走不同分支,结果发现走的都是同一个逻辑。这个有点亏,之前在这方面考虑的时间也挺长,没有先去查明客户的设置。

七、多线程。由于存储过程中使用了insert into ...select...的句式,而且where条件未中索引,所以造成了全表锁。而多线程的测试结果无疑就是锁表了,有些数据执行失败。

八、在逻辑上不以全量的方式插入,而是增量,可是那些已存在的数据还是得更新啊。所以性能应该差不多。

性能主要耗在了百万数据的插入。现在完全是处于没辙的状态,不知道如何处理。

【相关推荐】

1. 免费mysql在线视频教程

2. MySQL最新手册教程

3. 数据库设计那些事

相关文章

数码产品性能查询
数码产品性能查询

该软件包括了市面上所有手机CPU,手机跑分情况,电脑CPU,电脑产品信息等等,方便需要大家查阅数码产品最新情况,了解产品特性,能够进行对比选择最具性价比的商品。

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Golang 性能分析与pprof调优实战
Golang 性能分析与pprof调优实战

本专题系统讲解 Golang 应用的性能分析与调优方法,重点覆盖 pprof 的使用方式,包括 CPU、内存、阻塞与 goroutine 分析,火焰图解读,常见性能瓶颈定位思路,以及在真实项目中进行针对性优化的实践技巧。通过案例讲解,帮助开发者掌握 用数据驱动的方式持续提升 Go 程序性能与稳定性。

8

2026.01.22

html编辑相关教程合集
html编辑相关教程合集

本专题整合了html编辑相关教程合集,阅读专题下面的文章了解更多详细内容。

52

2026.01.21

三角洲入口地址合集
三角洲入口地址合集

本专题整合了三角洲入口地址合集,阅读专题下面的文章了解更多详细内容。

28

2026.01.21

AO3中文版入口地址大全
AO3中文版入口地址大全

本专题整合了AO3中文版入口地址大全,阅读专题下面的的文章了解更多详细内容。

358

2026.01.21

妖精漫画入口地址合集
妖精漫画入口地址合集

本专题整合了妖精漫画入口地址合集,阅读专题下面的文章了解更多详细内容。

109

2026.01.21

java版本选择建议
java版本选择建议

本专题整合了java版本相关合集,阅读专题下面的文章了解更多详细内容。

3

2026.01.21

Java编译相关教程合集
Java编译相关教程合集

本专题整合了Java编译相关教程,阅读专题下面的文章了解更多详细内容。

15

2026.01.21

C++多线程相关合集
C++多线程相关合集

本专题整合了C++多线程相关教程,阅读专题下面的的文章了解更多详细内容。

8

2026.01.21

无人机驾驶证报考 uom民用无人机综合管理平台官网
无人机驾驶证报考 uom民用无人机综合管理平台官网

无人机驾驶证(CAAC执照)报考需年满16周岁,初中以上学历,身体健康(矫正视力1.0以上,无严重疾病),且无犯罪记录。个人需通过民航局授权的训练机构报名,经理论(法规、原理)、模拟飞行、实操(GPS/姿态模式)及地面站训练后考试合格,通常15-25天拿证。

43

2026.01.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Node.js 教程
Node.js 教程

共57课时 | 9.1万人学习

PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.6万人学习

Django 教程
Django 教程

共28课时 | 3.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号