`
lin5061
  • 浏览: 83158 次
社区版块
存档分类
最新评论

mysql性能问题小解 Converting HEAP to MyIsam create_myisa

阅读更多

安定北京被性能测试困扰了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_EEGwit

    Open-Source_board_for_converting_RaspberryPI_to_Br_EEGwithRaspberryPI

    Converting_to_mp3_files_using_ffmpeg.pdf

    ### 使用FFmpeg将音频转换为MP3格式 在数字媒体处理领域,FFmpeg是一个非常强大的工具,能够处理视频、音频以及图像数据。本篇文档主要介绍如何使用FFmpeg将各种音频或视频文件转换成MP3格式。...

    matlab导入excel代码-utl_converting_very_simple_json_file_to_a_sas_dataset:将

    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_

    标题中的"converting_floating_en_inverter_floating_"暗示了我们正在讨论与转换浮动点英文相关的逆变器技术。在IT行业中,逆变器通常指的是电力电子设备,它能将直流电(DC)转换为交流电(AC)。而“floating”在此...

    Manual_Converting_Diagnostic_Pages_en_V1.1.0.pdf

    - **Manual_Converting_Diagnostic_Pages_en_V1.1.0.pdf**:该文档标题表明这是一份英文版的手册,版本为V1.1.0,主要介绍如何手动转换诊断页面。 #### 描述解析: - **SIMATIC Winder and Tension Control**:描述...

    Converting_text_into_images.rar_delphi 转换

    这个名为"Converting_text_into_images"的项目是用Delphi编程语言实现的一个小程序,其核心目标是将文本信息转化为不可编辑的图像格式,从而增加了数据的安全性和可移植性。 Delphi是一款强大的面向对象的编程环境...

    MySQL性能分析show profiles详解(csdn)————程序.pdf

    7. **Converting HEAP to MyISAM**:内存不足,数据被写入磁盘。优化索引或调整`max_heap_table_size`参数。 8. **Copying to tmp table on disk**:内存中的临时表被复制到磁盘,这是一个性能警告。优化索引,考虑...

    sid.zip_Converting_SID_between_binary

    在Windows操作系统中,安全标识符(Security Identifier,简称SID)是一种独特的标识符,用于唯一地识别用户、组、服务或其他安全主体。这个知识点主要涉及如何将SID在字符串和二进制形式之间进行转换,这对于权限...

    matlab导入excel代码-utl_converting_stata_datasets_to_sas_or_wps_datasets_wi

    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合并大数据分析宏...

    老外的DW2XLS-4.1.2 for pb 12需要pb2xls.dll

    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_...

    Converting_JV_to_JQ

    - 考虑性能和兼容性问题,优化JavaScript代码。 6. **使用工具**:有一些自动化工具可以帮助进行语言间的转换,如GWT(Google Web Toolkit)可将Java编译成JavaScript,但手动转换往往更灵活,能更好地适应特定...

    Converting Array to Map in Java.zip_in

    7. **可视化辅助**:`Converting Array to Map in Java.png`可能是一个流程图或示意图,帮助理解转换过程的可视化表示。在实际编程中,这类图表有助于解释代码逻辑,特别是在团队协作或技术文档中。 8. **异常处理*...

    PWM下载 和SPWM波下载

    // 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) - ...

    Mysql-使用show profiles分析你的SQL

    如“converting HEAP to MyISAM”表示查询结果太大,内存无法容纳,导致数据转移到磁盘;“Creating tmp table”可能意味着全表扫描或复杂的连接操作;“Copying to tmp table on disk”是内存中临时表无法容纳数据...

    converting_rgb2gray.zip_scale

    code for converting gray scale image into color image by using template

    MT-008 Converting Oscillator Phase Noise to Time Jitter.

    在现代信号处理和通信系统中,高精度的时间稳定度对于实现高性能模数转换器(ADC)至关重要。ADC的孔径抖动规格是决定其信噪比(SNR)水平的关键因素之一。例如,市面上已经出现了孔径抖动规格低至60-fs rms的ADC,...

    Converting the CONNECT sample to a local server在本地服务器

    "Converting the CONNECT sample to a local server"的主题聚焦于将一个基于CONNECT的示例应用移植到用户的本地服务器环境。这个过程通常包括几个关键步骤,涉及代码调整、配置更改以及对本地环境的适应。 首先,...

    Converting integer up to 16 to bit pattern.rar

    这个“Converting integer up to 16 to bit pattern”主题涉及了将16位整数转换为位模式的概念,这是在编程AB PLC时常见的操作。 在AB PLC编程中,我们经常需要处理二进制数据,因为PLC内部是以二进制形式存储和...

    小程序报错: Uncaught TypeError: Converting circular structure to JSON

    今天把最近一直在开发的小程序放安卓手机上测试一下,结果某个页面就一直报错: Uncaught TypeError: Converting circular structure to JSON 先说一下基本的环境: 系统:Android 6.0.1 手机:小米4 微信版本:...

    D3D to opengl converting library

    D3D to opengl converting library

Global site tag (gtag.js) - Google Analytics