首页/应用软件/内容

MySQL使用profile区分慢sql代码案例详细说明

应用软件2025-03-16 阅读()
[摘要]left;">最近因为一个用了子查询的sql语句查询很慢,严重影响了性能,所以需要进行优化,下面这篇文章主要跟大家介绍了关于MySQL利用profile分析慢sql的相关资料,文中介...
left;">最近因为一个用了子查询的sql语句查询很慢,严重影响了性能,所以需要进行优化,下面这篇文章主要跟大家介绍了关于MySQL利用profile分析慢sql的相关资料,文中介绍的非常详细,需要的朋友们可以参考借鉴,下面来一起看看吧。

使用profile来分析慢sql

mysql 的 sql 性能分析器主要用途是显示 sql 执行的整个过程中各项资源的使用情况。分析器可以更好的展示出不良 SQL 的性能问题所在。 最近遇到一个查询比较慢的sql语句,用了子查询,大概需要0.8秒左右,这个消耗时间比较长,严重影响了性能,所以需要进行优化。单独查询单表或者子查询记录都很快,下面来看看详细的介绍。

开启profile

mysql> show profiles; -- 查看是否开启
Empty set, 1 warning (0.00 sec)
mysql> set profiling=1; -- 开启profile
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> show profiles;
Empty set, 1 warning (0.00 sec)
mysql>

执行查询,方便profile跟踪记录

mysql> SELECT SQL_NO_CACHE
 ->     t1.amount,
 ->     t1.count,
 ->     t1.date ,
 ->     (SELECT (CONCAT(t2.APPROVE_ID,'  ' ,t2.PATH)) AS RECEIPT FROM TB_BIS_MERCHANT_SETTLEMENT t2 
 WHERE t2.`MERCHANT_ID` = t1.`MERCHANT_ID` AND t2.`DATE`=t1.DATE AND t2.APPROVE_STATUS=5) AS receipts
 ->    FROM
 ->     TB_BIS_MERCHANT_TURNOVER t1
 ->    WHERE t1.MERCHANT_ID='64884DE062BC11E682B00017FA000202'
 ->         ORDER BY t1.date DESC
 -> 
 -> LIMIT 0,100;
+-----------+-------+----------+------------------------------------------------------------------------------------------------------------+
   amount    count    date     receipts                           
+-----------+-------+----------+------------------------------------------------------------------------------------------------------------+
   15800.00     1    20170105    0DDFD555F93B45BEB0905B1E6DE89D29  http://testxxx.cn/group1/M00/00/49/CvkBIlhu-yqABqmAABYR7dHOmno819.jpg   
   1245.00     1    20170104    0DDFD555F93B45BEB0905B1E6DE89D29  http://testxxx.cn/group1/M00/00/4F/CvkBIVhtpSeAI_YHAADNjq7TPq8244.jpg   
   14766.00     4    20170103    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/45/CvkBIlhrrf6AQ5uIAAEobJv68FU398.jpg   
   32449.00     2    20170102    0DDFD555F93B45BEB0905B1E6DE89D29  http://testxxx.cn/group1/M00/00/4C/CvkBIVhrDguAfaMIABjKB9uvu04477.jpg   
   37246.00     5    20170101    0DDFD555F93B45BEB0905B1E6DE89D29  http://testxxx.cn/group1/M00/00/4A/CvkBIVhpCnGASEyLAAEu6l9SI0o812.jpg   
   105094.00     2    20161231    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/49/CvkBIVhnwp-ALIvWAAEAaGPayjg732.jpg   
   88032.00     3    20161230    98FDB31FE4B04C21BC7EBE8A22981DA0  http://testxxx.cn/group1/M00/00/47/CvkBIVhmaqSAHcEZAAFAyS8Zx8Q067.jpg   
   3845.00     1    20161229    98FDB31FE4B04C21BC7EBE8A22981DA0  http://testxxx.cn/group1/M00/00/3F/CvkBIlhl206AaS-FAAFMhvX8PYY578.jpg   
   2118.00     4    20161228    2154FDCDA51A4257811F1EA886AACD14  http://testxxx.cn/group1/M00/00/3D/CvkBIlhjxhyAMOfhAAD8wUzTUUY855.jpg   
   2980.00     1    20161227    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/3B/CvkBIlhicfCAFmwgAAE9ULPqEJ4030.jpg   
   1080.00     1    20161226    667E240C44B4469892C261CE9243A8C3  http://testxxx.cn/group1/M00/00/42/CvkBIVhhy6iAMm8tAAFHOT5zBiM875.jpg   
   2980.00     1    20161225    0DDFD555F93B45BEB0905B1E6DE89D29  http://testxxx.cn/group1/M00/00/40/CvkBIVhfzCWAdw2LAAFpDXmwio4327.jpg   
   10201.00     1    20161224    98FDB31FE4B04C21BC7EBE8A22981DA0  http://testxxx.cn/group1/M00/00/38/CvkBIlhfJfKAIoBiAADqgbF1pBo054.jpg   
   3003.00     4    20161223    98FDB31FE4B04C21BC7EBE8A22981DA0  http://testxxx.cn/group1/M00/00/3D/CvkBIVhdMHeAQi8cAAGAOQTgxLo422.jpg   
   2698.00     1    20161222    98FDB31FE4B04C21BC7EBE8A22981DA0  http://testxxx.cn/group1/M00/00/3C/CvkBIVhb2U2AXWRuAAEc4LIr2nc172.jpg   
   990.00     1    20161221    98FDB31FE4B04C21BC7EBE8A22981DA0  http://testxxx.cn/group1/M00/00/3B/CvkBIVhbM6aAGMQAAAEQ9ptn0FU333.jpg   
   1427.00     1    20161220    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/31/CvkBIlhZNJqAAsvWAAGuJ6g1pyU541.jpg   
   2465.00     1    20161219    2154FDCDA51A4257811F1EA886AACD14  http://testxxx.cn/group1/M00/00/30/CvkBIlhX4_mAfn-SAAEptH1Fyp8152.jpg   
   2360.00     1    20161218    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/2F/CvkBIlhWl_-AclhbAAGLv79hoh8428.jpg   
   3998.00     1    20161217    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/35/CvkBIVhVSLGAFct_AAFQRetyWnc285.jpg   
    0.00     0    20161216    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/2D/CvkBIlhU8g-AXywcAAGn1gdsQQc959.jpg   
    0.00     0    20161215    98FDB31FE4B04C21BC7EBE8A22981DA0  http://testxxx.cn/group1/M00/00/2A/CvkBIlhSmryAZXITAG-zN3WQv4c789.jpg   
   9900.00     1    20161214    98FDB31FE4B04C21BC7EBE8A22981DA0  http://testxxx.cn/group1/M00/00/31/CvkBIVhRTrOALwG6AAE_csC3lvk695.jpg   
   4320.00     1    20161213    2154FDCDA51A4257811F1EA886AACD14  http://testxxx.cn/group1/M00/00/28/CvkBIlhQrzCAfApEAAFKbHqkH3w634.jpg   
   8760.00     2    20161212    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/26/CvkBIlhOqjeAO1BdAAGHdajOU2E697.jpg   
   213335.00     4    20161211    2154FDCDA51A4257811F1EA886AACD14  http://testxxx.cn/group1/M00/00/2D/CvkBIVhNYQSAfxXgAAHZL9a8Nrs596.jpg   
   47104.00     5    20161210    98FDB31FE4B04C21BC7EBE8A22981DA0  http://testxxx.cn/group1/M00/00/2C/CvkBIVhMsPSAAnrAAAETxX9fCuw946.jpg   
   6100.00     1    20161209    98FDB31FE4B04C21BC7EBE8A22981DA0  http://testxxx.cn/group1/M00/00/23/CvkBIlhLfXOAClJVAAFmuoqBI5o264.jpg   
   13515.00     2    20161208    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/21/CvkBIlhJZ06AbuaNAAGg7Bz3OsA569.jpg   
   26769.00     4    20161207    98FDB31FE4B04C21BC7EBE8A22981DA0  http://testxxx.cn/group1/M00/00/20/CvkBIlhIGgeAdNxuAAETxX9fCuw408.jpg   
    0.00     0    20161206    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/1E/CvkBIlhGxAuAfQr8AAFatVZ2sFk337.jpg   
    0.00     0    20161205    2154FDCDA51A4257811F1EA886AACD14  http://testxxx.cn/group1/M00/00/1D/CvkBIlhGKy-AU9guAAGm4jFhmoU601.jpg   
   20000.00     3    20161204    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/23/CvkBIVhEIDGAMPuIAAH6chL6Wo8684.jpg   
   20275.00     4    20161203    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/21/CvkBIVhCyrSAE-uGAAGf0CWFbZM991.jpg   
   3988.00     1    20161202    98FDB31FE4B04C21BC7EBE8A22981DA0  http://testxxx.cn/group1/M00/00/19/CvkBIlhCI7mAUN_9AAIsSLMhcns351.jpg   
   4460.00     1    20161201    2154FDCDA51A4257811F1EA886AACD14  http://testxxx.cn/group1/M00/00/17/CvkBIlhAKwmACroNAAGpJUqVqIA247.jpg   
   10498.00     2    20161130    2154FDCDA51A4257811F1EA886AACD14  http://testxxx.cn/group1/M00/00/16/CvkBIlg-3euAbsd5AAGr-r7GCH0254.jpg   
   11080.00     2    20161129    2154FDCDA51A4257811F1EA886AACD14  http://testxxx.cn/group1/M00/00/1C/CvkBIVg9i6WAD4Z0AAHLB1yISaQ864.jpg   
   6100.00     1    20161128    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/1B/CvkBIVg8OHGABTZOAAG1ZWoLoXY932.jpg   
   5580.00     1    20161127    98FDB31FE4B04C21BC7EBE8A22981DA0  http://testxxx.cn/group1/M00/00/19/CvkBIVg65aKAcRWWAAFnaqaodKs660.jpg   
   32630.00     2    20161126    2154FDCDA51A4257811F1EA886AACD14  http://testxxx.cn/group1/M00/00/18/CvkBIVg5kveALns0AAHLB1yISaQ850.jpg   
   9800.00     1    20161125    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/17/CvkBIVg4Qg2AMqoNAAH--He3hsg726.jpg   
   32500.00     2    20161124    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/16/CvkBIVg27_OAAV5OAAE8vRiZWHs684.jpg   
   2700.00     1    20161123    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/0E/CvkBIlg2T4OAL3t5AAFsAWaUI98731.jpg   
   4580.00     1    20161122    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/14/CvkBIVg0-UeAFDr_AAIBY_LNIxs656.jpg   
   14120.00     1    20161121    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/0B/CvkBIlgy_EeAaPdBAAHeyO5nxeo952.jpg   
   41510.00     2    20161120    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/12/CvkBIVgyYRKAZKi3AAGEp_IGjVM389.jpg   
   7800.00     2    20161118    C91D5E7905BA44C8A14045C9C228157F  http://testxxx.cn/group1/M00/00/09/CvkBIlgw_viAFHiPAAH0MZwoiCE530.jpg   
+-----------+-------+----------+------------------------------------------------------------------------------------------------------------+
48 rows in set (0.75 sec)
mysql>

查看当前的profile记录,主要获得Query_ID值

mysql> show profiles;
+----------+------------+------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------+
   Query_ID    Duration    Query                              
+----------+------------+-------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------+
    1    0.00009250    show warning                          
    2    0.00013125    show warnings                 
    3    0.00014375    set profiling=1                 
    4    0.75458525    SELECT SQL_NO_CACHE
    t1.amount,
    t1.count,
    t1.date ,
     (SELECT (CONCAT(t2.APPROVE_ID,'  ' ,t2.PATH)) AS RECEIPT FROM TB_BIS_MERCHANT_SETTLEMENT t2 
     WHERE t2.`MERCHANT_ID` = t1.`MERCHANT_ID` AND t2.`DATE`=t1.DATE AND t2.APPROVE_STATUS=5) AS r   
+----------+------------+----------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------+
4 rows in set, 1 warning (0.00 sec)
mysql>

查看刚才执行的Query_ID为4的跟踪记录

mysql> show profile for query 4;
+--------------------+----------+
   Status       Duration   
+--------------------+----------+
   executing      0.000017   
   Sending data     0.018048   
   executing      0.000028   
   Sending data     0.018125   
   executing      0.000022   
   Sending data     0.015749   
   executing      0.000017   
   Sending data     0.015633   
   executing      0.000017   
   Sending data     0.015382   
   executing      0.000015   
   Sending data     0.015707   
   executing      0.000023   
   Sending data     0.015890   
   executing      0.000022   
   Sending data     0.015908   
   executing      0.000017   
   Sending data     0.015761   
   executing      0.000022   
   Sending data     0.015542   
   executing      0.000014   
   Sending data     0.015561   
   executing      0.000016   
   Sending data     0.015546   
   executing      0.000037   
   Sending data     0.015555   
   executing      0.000015   
   Sending data     0.015779   
   executing      0.000026   
   Sending data     0.015815   
   executing      0.000015   
   Sending data     0.015468   
   executing      0.000015   
   Sending data     0.015457   
   executing      0.000015   
   Sending data     0.015457   
   executing      0.000014   
   Sending data     0.015500   
   executing      0.000014   
   Sending data     0.015557   
   executing      0.000015   
   Sending data     0.015537   
   executing      0.000014   
   Sending data     0.015395   
   executing      0.000021   
   Sending data     0.015416   
   executing      0.000014   
   Sending data     0.015416   
   executing      0.000014   
   Sending data     0.015399   
   executing      0.000023   
   Sending data     0.015407   
   executing      0.000014   
   Sending data     0.015585   
   executing      0.000014   
   Sending data     0.015385   
   executing      0.000014   
   Sending data     0.015412   
   executing      0.000014   
   Sending data     0.015408   
   executing      0.000014   
   Sending data     0.015753   
   executing      0.000014   
   Sending data     0.015376   
   executing      0.000014   
   Sending data     0.015416   
   executing      0.000019   
   Sending data     0.015368   
   executing      0.000014   
   Sending data     0.015481   
   executing      0.000015   
   Sending data     0.015619   
   executing      0.000015   
   Sending data     0.015662   
   executing      0.000016   
   Sending data     0.015574   
   executing      0.000015   
   Sending data     0.015566   
   executing      0.000015   
   Sending data     0.015488   
   executing      0.000013   
   Sending data     0.015493   
   executing      0.000015   
   Sending data     0.015386   
   executing      0.000015   
   Sending data     0.015485   
   executing      0.000018   
   Sending data     0.015760   
   executing      0.000014   
   Sending data     0.015386   
   executing      0.000015   
   Sending data     0.015418   
   executing      0.000014   
   Sending data     0.015458   
   end       0.000016   
   query end      0.000019   
   closing tables     0.000018   
   freeing items     0.000825   
   logging slow query    0.000067   
   cleaning up     0.000025   
+--------------------+----------+
100 rows in set, 1 warning (0.00 sec)
mysql>

根据分析结果可以看到,有大量的Sending data消耗,而且是持续不断的,这样的可以判断为子查询导致的,所以在这个case里面,子查询不适合用,效率太低。 那该用什么来避免呢?

用group by + left join 改写

mysql> SELECT SQL_NO_CACHE DISTINCT
 ->     t1.amount,
 ->     t1.count,
 ->     t1.date, GROUP_CONCAT(CONCAT(t2.APPROVE_ID,'  ' ,t2.PATH)) AS RECEIPT 
 ->    FROM
 ->     TB_BIS_MERCHANT_TURNOVER t1 LEFT JOIN TB_BIS_MERCHANT_SETTLEMENT t2 ON t2.
 `MERCHANT_ID` = t1.`MERCHANT_ID` AND t2.`DATE`=t1.DATE AND t2.APPROVE_STATUS=5
 ->    WHERE t1.MERCHANT_ID='64884DE062BC11E682B00017FA000202'
 ->    GROUP BY t1.amount,
 ->     t1.count,
 ->     t1.date
 ->         ORDER BY t1.date DESC
 -> 
 -> LIMIT 0,100;
+-----------+-------+----------+------------------------------------------------------------------------------------------------------------+
   amount    count    date     RECEIPT                           
+-----------+-------+----------+------------------------------------------------------------------------------------------------------------+
   15800.00     1    20170105    0DDFD555F93B45BEB0905B1E6DE89D29  http://testxxx.cn/group1/M00/00/49/CvkBIlhu-yqABqmAABYR7dHOmno819.jpg   
   1245.00     1    20170104    0DDFD555F93B45BEB0905B1E6DE89D29  http://testxxx.cn/group1/M00/00/4F/CvkBIVhtpSeAI_YHAADNjq7TPq8244.jpg   
   14766.00     4    20170103    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/45/CvkBIlhrrf6AQ5uIAAEobJv68FU398.jpg   
   32449.00     2    20170102    0DDFD555F93B45BEB0905B1E6DE89D29  http://testxxx.cn/group1/M00/00/4C/CvkBIVhrDguAfaMIABjKB9uvu04477.jpg   
   37246.00     5    20170101    0DDFD555F93B45BEB0905B1E6DE89D29  http://testxxx.cn/group1/M00/00/4A/CvkBIVhpCnGASEyLAAEu6l9SI0o812.jpg   
   105094.00     2    20161231    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/49/CvkBIVhnwp-ALIvWAAEAaGPayjg732.jpg   
   88032.00     3    20161230    98FDB31FE4B04C21BC7EBE8A22981DA0  http://testxxx.cn/group1/M00/00/47/CvkBIVhmaqSAHcEZAAFAyS8Zx8Q067.jpg   
   3845.00     1    20161229    98FDB31FE4B04C21BC7EBE8A22981DA0  http://testxxx.cn/group1/M00/00/3F/CvkBIlhl206AaS-FAAFMhvX8PYY578.jpg   
   2118.00     4    20161228    2154FDCDA51A4257811F1EA886AACD14  http://testxxx.cn/group1/M00/00/3D/CvkBIlhjxhyAMOfhAAD8wUzTUUY855.jpg   
   2980.00     1    20161227    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/3B/CvkBIlhicfCAFmwgAAE9ULPqEJ4030.jpg   
   1080.00     1    20161226    667E240C44B4469892C261CE9243A8C3  http://testxxx.cn/group1/M00/00/42/CvkBIVhhy6iAMm8tAAFHOT5zBiM875.jpg   
   2980.00     1    20161225    0DDFD555F93B45BEB0905B1E6DE89D29  http://testxxx.cn/group1/M00/00/40/CvkBIVhfzCWAdw2LAAFpDXmwio4327.jpg   
   10201.00     1    20161224    98FDB31FE4B04C21BC7EBE8A22981DA0  http://testxxx.cn/group1/M00/00/38/CvkBIlhfJfKAIoBiAADqgbF1pBo054.jpg   
   3003.00     4    20161223    98FDB31FE4B04C21BC7EBE8A22981DA0  http://testxxx.cn/group1/M00/00/3D/CvkBIVhdMHeAQi8cAAGAOQTgxLo422.jpg   
   2698.00     1    20161222    98FDB31FE4B04C21BC7EBE8A22981DA0  http://testxxx.cn/group1/M00/00/3C/CvkBIVhb2U2AXWRuAAEc4LIr2nc172.jpg   
   990.00     1    20161221    98FDB31FE4B04C21BC7EBE8A22981DA0  http://testxxx.cn/group1/M00/00/3B/CvkBIVhbM6aAGMQAAAEQ9ptn0FU333.jpg   
   1427.00     1    20161220    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/31/CvkBIlhZNJqAAsvWAAGuJ6g1pyU541.jpg   
   2465.00     1    20161219    2154FDCDA51A4257811F1EA886AACD14  http://testxxx.cn/group1/M00/00/30/CvkBIlhX4_mAfn-SAAEptH1Fyp8152.jpg   
   2360.00     1    20161218    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/2F/CvkBIlhWl_-AclhbAAGLv79hoh8428.jpg   
   3998.00     1    20161217    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/35/CvkBIVhVSLGAFct_AAFQRetyWnc285.jpg   
    0.00     0    20161216    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/2D/CvkBIlhU8g-AXywcAAGn1gdsQQc959.jpg   
    0.00     0    20161215    98FDB31FE4B04C21BC7EBE8A22981DA0  http://testxxx.cn/group1/M00/00/2A/CvkBIlhSmryAZXITAG-zN3WQv4c789.jpg   
   9900.00     1    20161214    98FDB31FE4B04C21BC7EBE8A22981DA0  http://testxxx.cn/group1/M00/00/31/CvkBIVhRTrOALwG6AAE_csC3lvk695.jpg   
   4320.00     1    20161213    2154FDCDA51A4257811F1EA886AACD14  http://testxxx.cn/group1/M00/00/28/CvkBIlhQrzCAfApEAAFKbHqkH3w634.jpg   
   8760.00     2    20161212    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/26/CvkBIlhOqjeAO1BdAAGHdajOU2E697.jpg   
   213335.00     4    20161211    2154FDCDA51A4257811F1EA886AACD14  http://testxxx.cn/group1/M00/00/2D/CvkBIVhNYQSAfxXgAAHZL9a8Nrs596.jpg   
   47104.00     5    20161210    98FDB31FE4B04C21BC7EBE8A22981DA0  http://testxxx.cn/group1/M00/00/2C/CvkBIVhMsPSAAnrAAAETxX9fCuw946.jpg   
   6100.00     1    20161209    98FDB31FE4B04C21BC7EBE8A22981DA0  http://testxxx.cn/group1/M00/00/23/CvkBIlhLfXOAClJVAAFmuoqBI5o264.jpg   
   13515.00     2    20161208    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/21/CvkBIlhJZ06AbuaNAAGg7Bz3OsA569.jpg   
   26769.00     4    20161207    98FDB31FE4B04C21BC7EBE8A22981DA0  http://testxxx.cn/group1/M00/00/20/CvkBIlhIGgeAdNxuAAETxX9fCuw408.jpg   
    0.00     0    20161206    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/1E/CvkBIlhGxAuAfQr8AAFatVZ2sFk337.jpg   
    0.00     0    20161205    2154FDCDA51A4257811F1EA886AACD14  http://testxxx.cn/group1/M00/00/1D/CvkBIlhGKy-AU9guAAGm4jFhmoU601.jpg   
   20000.00     3    20161204    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/23/CvkBIVhEIDGAMPuIAAH6chL6Wo8684.jpg   
   20275.00     4    20161203    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/21/CvkBIVhCyrSAE-uGAAGf0CWFbZM991.jpg   
   3988.00     1    20161202    98FDB31FE4B04C21BC7EBE8A22981DA0  http://testxxx.cn/group1/M00/00/19/CvkBIlhCI7mAUN_9AAIsSLMhcns351.jpg   
   4460.00     1    20161201    2154FDCDA51A4257811F1EA886AACD14  http://testxxx.cn/group1/M00/00/17/CvkBIlhAKwmACroNAAGpJUqVqIA247.jpg   
   10498.00     2    20161130    2154FDCDA51A4257811F1EA886AACD14  http://testxxx.cn/group1/M00/00/16/CvkBIlg-3euAbsd5AAGr-r7GCH0254.jpg   
   11080.00     2    20161129    2154FDCDA51A4257811F1EA886AACD14  http://testxxx.cn/group1/M00/00/1C/CvkBIVg9i6WAD4Z0AAHLB1yISaQ864.jpg   
   6100.00     1    20161128    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/1B/CvkBIVg8OHGABTZOAAG1ZWoLoXY932.jpg   
   5580.00     1    20161127    98FDB31FE4B04C21BC7EBE8A22981DA0  http://testxxx.cn/group1/M00/00/19/CvkBIVg65aKAcRWWAAFnaqaodKs660.jpg   
   32630.00     2    20161126    2154FDCDA51A4257811F1EA886AACD14  http://testxxx.cn/group1/M00/00/18/CvkBIVg5kveALns0AAHLB1yISaQ850.jpg   
   9800.00     1    20161125    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/17/CvkBIVg4Qg2AMqoNAAH--He3hsg726.jpg   
   32500.00     2    20161124    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/16/CvkBIVg27_OAAV5OAAE8vRiZWHs684.jpg   
   2700.00     1    20161123    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/0E/CvkBIlg2T4OAL3t5AAFsAWaUI98731.jpg   
   4580.00     1    20161122    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/14/CvkBIVg0-UeAFDr_AAIBY_LNIxs656.jpg   
   14120.00     1    20161121    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/0B/CvkBIlgy_EeAaPdBAAHeyO5nxeo952.jpg   
   41510.00     2    20161120    EC481757CFDB445092D16D6B616350C8  http://testxxx.cn/group1/M00/00/12/CvkBIVgyYRKAZKi3AAGEp_IGjVM389.jpg   
   7800.00     2    20161118    C91D5E7905BA44C8A14045C9C228157F  http://testxxx.cn/group1/M00/00/09/CvkBIlgw_viAFHiPAAH0MZwoiCE530.jpg   
+-----------+-------+----------+------------------------------------------------------------------------------------------------------------+
48 rows in set (0.15 sec)
mysql>

可以看到,执行时间变成了0.15秒,提升了5倍的效率。再看profile的跟踪分析。

mysql> show profile for query 8;
+-------------------------------+----------+
   Status         Duration   
+-------------------------------+----------+
   starting         0.000125   
   checking permissions      0.000015   
   checking permissions      0.000014   
   Opening tables       0.000029   
   init          0.000055   
   System lock        0.000020   
   Waiting for query cache lock    0.000013   
   System lock        0.000050   
   optimizing        0.000023   
   statistics        0.000087   
   preparing         0.000066   
   Creating tmp table      0.000062   
   Creating tmp table      0.000028   
   Sorting result       0.000016   
   executing         0.000012   
   Sending data        0.148283   
   Creating sort index      0.000342   
   Creating sort index      0.000223   
   end          0.000015   
   query end         0.000046   
   removing tmp table      0.000017   
   query end         0.000012   
   removing tmp table      0.000062   
   query end         0.000015   
   closing tables       0.000017   
   freeing items        0.000019   
   removing tmp table      0.000025   
   freeing items        0.000016   
   Waiting for query cache lock    0.000012   
   freeing items        0.000915   
   Waiting for query cache lock    0.000015   
   freeing items        0.000011   
   storing result in query cache    0.000013   
   cleaning up        0.000024   
+-------------------------------+----------+
34 rows in set, 1 warning (0.00 sec)
mysql>

可以看到,只有一次 Sending data 0.148283 的消耗,所以效率提升很快。

扩展部分

SELECT 
 NAME,
 VALUE 
FROM
 v $ parameter 
WHERE NAME IN (
 'pga_aggregate_target',
 'sga_target'
 ) 
UNION
SELECT 
 'maximum PGA allocated' AS NAME,
 TO_CHAR (VALUE) AS VALUE 
FROM
 v $ pgastat 
WHERE NAME = 'maximum PGA allocated' ;
-- insert data
insert into t1 select 1,'a' from db1.t2;
call db1.proc_get_fints

总结

以上就是MySQL利用profile分析慢sql代码实例详解的详细内容,更多请关注php中文网其它相关文章!


学习教程快速掌握从入门到精通的SQL知识。

……

相关阅读