安定北京被性能测试困扰了N天,实在没想法去解决了,今天又收到上级的命令说安定北京要解决,无奈!把项目组唯一的DBA辞掉了,现在所以数据库的问题都得自己来处理:( 不知道上边人怎么想的。而且更不知道怎安定北京么想的是居然会把应用部属在虚拟主机上!唉。。。
不唠叨了 说说处理过程吧:
1.在终端里set profiling=1;
2.输入要调整的SQL语句,比如select * from table1;
3.输入show profiles;看看刚才那条语句的ID 用于后面分析
4.show profile for query 2;
5.show profile block io,cpu for query 2;
6.show profile cpu,block io,memory,swaps,context switches,source for query 5;
7.通过上面的一些查询 大体可以看出这条SQL语句执行的时候哪些地方占用的时间太大了。这次测试看到的是Copying to tmp table on disk和converting HEAP to MyISAM占有的时间太多。网上查了一下发现可以修改一下tmp_table_size和max_heap_table_size两个参数来调整,使得大数据量的查询时不用将结果集拷贝到物理磁盘。这样时间就争取过来了
对了 MYSQL有个好用的命令可以分析一条SQL的结构,可以查到这个查询是否使用到索引等。直接explain select * from table1就行了
+--------------------------------+------------+------------+------------+-------------------+---------------------+--------------+---------------+-------+---------------------------+---------------+-------------+
| Status | Duration | CPU_user | CPU_system | Context_voluntary | Context_involuntary | Block_ops_in | Block_ops_out | Swaps | Source_function | Source_file | Source_line |
+--------------------------------+------------+------------+------------+-------------------+---------------------+--------------+---------------+-------+---------------------------+---------------+-------------+
| checking query cache for query | 0.00001100 | 0.00000000 | 0.00000000 | 0 | 0 | 0 | 0 | 0 | send_result_to_client | sql_cache.cc | 1094 |
| Opening tables | 0.00023400 | 0.00000000 | 0.00000000 | 0 | 0 | 0 | 0 | 0 | open_tables | sql_base.cc | 2106 |
| System lock | 0.00002800 | 0.00000000 | 0.00000000 | 0 | 0 | 0 | 0 | 0 | mysql_lock_tables | lock.cc | 153 |
| Table lock | 0.00001300 | 0.00000000 | 0.00000000 | 0 | 0 | 0 | 0 | 0 | mysql_lock_tables | lock.cc | 162 |
| optimizing | 0.00022700 | 0.00099900 | 0.00000000 | 0 | 0 | 0 | 0 | 0 | optimize | sql_select.cc | 617 |
| statistics | 0.00002900 | 0.00000000 | 0.00000000 | 0 | 0 | 0 | 0 | 0 | optimize | sql_select.cc | 773 |
| preparing | 0.00012800 | 0.00000000 | 0.00000000 | 0 | 0 | 0 | 0 | 0 | optimize | sql_select.cc | 783 |
| Creating tmp table | 0.00003400 | 0.00000000 | 0.00000000 | 0 | 0 | 0 | 0 | 0 | optimize | sql_select.cc | 1206 |
| executing | 0.00003100 | 0.00000000 | 0.00000000 | 0 | 0 | 0 | 0 | 0 | exec | sql_select.cc | 1407 |
| Copying to tmp table | 0.00001100 | 0.00000000 | 0.00000000 | 0 | 0 | 0 | 0 | 0 | exec | sql_select.cc | 1547 |
| converting HEAP to MyISAM | 3.94055900 | 3.81042100 | 0.12498100 | 6 | 7 | 0 | 0 | 0 | create_myisam_from_heap | sql_select.cc | 9914 |
| Copying to tmp table on disk | 5.10490400 | 5.00623900 | 0.09798500 | 8 | 10 | 0 | 0 | 0 | create_myisam_from_heap | sql_select.cc | 9968 |
| Sending data | 3.09531800 | 2.96954900 | 0.12698100 | 4 | 4 | 0 | 0 | 0 | exec | sql_select.cc | 1925 |
| converting HEAP to MyISAM | 1.62242300 | 1.37279100 | 0.25096200 | 38 | 15 | 0 | 0 | 0 | create_myisam_from_heap | sql_select.cc | 9914 |
| Sending data | 5.13815600 | 5.04223300 | 0.09698500 | 13 | 10 | 0 | 0 | 0 | create_myisam_from_heap | sql_select.cc | 9968 |
| optimizing | 2.17403900 | 2.01069500 | 0.16497500 | 5 | 3 | 0 | 0 | 0 | optimize | sql_select.cc | 617 |
mysql官网论坛也有讲过这配置 但没说到第二项配置
http://forums.mysql.com/read.php?22,111012,111012#msg-111012
分享到:
相关推荐
Open-Source_board_for_converting_RaspberryPI_to_Br_EEGwithRaspberryPI
### 使用FFmpeg将音频转换为MP3格式 在数字媒体处理领域,FFmpeg是一个非常强大的工具,能够处理视频、音频以及图像数据。本篇文档主要介绍如何使用FFmpeg将各种音频或视频文件转换成MP3格式。...
matlab导入excel代码utl_converting_very_simple_json_file_to_a_sas_dataset 将非常简单的json文件转换为sas数据集关键字:sas sql join合并大数据分析宏oracle teradata mysql sas社区stackoverflow统计信息人工...
标题中的"converting_floating_en_inverter_floating_"暗示了我们正在讨论与转换浮动点英文相关的逆变器技术。在IT行业中,逆变器通常指的是电力电子设备,它能将直流电(DC)转换为交流电(AC)。而“floating”在此...
- **Manual_Converting_Diagnostic_Pages_en_V1.1.0.pdf**:该文档标题表明这是一份英文版的手册,版本为V1.1.0,主要介绍如何手动转换诊断页面。 #### 描述解析: - **SIMATIC Winder and Tension Control**:描述...
这个名为"Converting_text_into_images"的项目是用Delphi编程语言实现的一个小程序,其核心目标是将文本信息转化为不可编辑的图像格式,从而增加了数据的安全性和可移植性。 Delphi是一款强大的面向对象的编程环境...
7. **Converting HEAP to MyISAM**:内存不足,数据被写入磁盘。优化索引或调整`max_heap_table_size`参数。 8. **Copying to tmp table on disk**:内存中的临时表被复制到磁盘,这是一个性能警告。优化索引,考虑...
在Windows操作系统中,安全标识符(Security Identifier,简称SID)是一种独特的标识符,用于唯一地识别用户、组、服务或其他安全主体。这个知识点主要涉及如何将SID在字符串和二进制形式之间进行转换,这对于权限...
matlab导入excel代码utl_coverting_stata_datasets_to_sas_or_wps_datasets_without_stata Coverting_stata_datasets_to_sas_or_wps_datasets_without_stata_open_source。 关键字:sas sql join合并大数据分析宏...
Allows to specify some options for process of converting. uf_save_ds_as_excel Function which converts datastore into excel file. uf_save_ds_as_excel_parm It is similar to function uf_save_ds_as_...
- 考虑性能和兼容性问题,优化JavaScript代码。 6. **使用工具**:有一些自动化工具可以帮助进行语言间的转换,如GWT(Google Web Toolkit)可将Java编译成JavaScript,但手动转换往往更灵活,能更好地适应特定...
7. **可视化辅助**:`Converting Array to Map in Java.png`可能是一个流程图或示意图,帮助理解转换过程的可视化表示。在实际编程中,这类图表有助于解释代码逻辑,特别是在团队协作或技术文档中。 8. **异常处理*...
// Parameter : Scaler converting 1/N cycles to a GLOBAL_Q freq (Q0) - independently with global Q Uint32 freqScaler_fr; // Parameter : Scaler converting 1/N cycles to a GLOBAL_Q freq (Q0) - ...
如“converting HEAP to MyISAM”表示查询结果太大,内存无法容纳,导致数据转移到磁盘;“Creating tmp table”可能意味着全表扫描或复杂的连接操作;“Copying to tmp table on disk”是内存中临时表无法容纳数据...
code for converting gray scale image into color image by using template
在现代信号处理和通信系统中,高精度的时间稳定度对于实现高性能模数转换器(ADC)至关重要。ADC的孔径抖动规格是决定其信噪比(SNR)水平的关键因素之一。例如,市面上已经出现了孔径抖动规格低至60-fs rms的ADC,...
"Converting the CONNECT sample to a local server"的主题聚焦于将一个基于CONNECT的示例应用移植到用户的本地服务器环境。这个过程通常包括几个关键步骤,涉及代码调整、配置更改以及对本地环境的适应。 首先,...
这个“Converting integer up to 16 to bit pattern”主题涉及了将16位整数转换为位模式的概念,这是在编程AB PLC时常见的操作。 在AB PLC编程中,我们经常需要处理二进制数据,因为PLC内部是以二进制形式存储和...
今天把最近一直在开发的小程序放安卓手机上测试一下,结果某个页面就一直报错: Uncaught TypeError: Converting circular structure to JSON 先说一下基本的环境: 系统:Android 6.0.1 手机:小米4 微信版本:...
D3D to opengl converting library