MySQL中profiling有什么用
发布时间:2022-01-11 13:51:24 所属栏目:MySql教程 来源:互联网
导读:这篇文章将为大家详细讲解有关MySQL中profiling有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 MySQL5.0版本之后开放了profiling功能,通过此功能可以查询某个SQL的详细执行计划。 1、开启profiling mysql sh
这篇文章将为大家详细讲解有关MySQL中profiling有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 MySQL5.0版本之后开放了profiling功能,通过此功能可以查询某个SQL的详细执行计划。 1、开启profiling mysql> show variables like '%profil%'; +------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | have_profiling | YES | | profiling | ON | | profiling_history_size | 15 | +------------------------+-------+ 2、执行SQL,进行测试 mysql> select * from xcredit.tb_sync_job_bak; 3、查看profiles mysql> show profiles; +----------+------------+------------------------------------------------------------------------------+ | Query_ID | Duration | Query | +----------+------------+------------------------------------------------------------------------------+ | 1 | 0.00009600 | set global profiling=1 | | 2 | 0.00218100 | show variables like '%profil%' | | 3 | 0.04091100 | select * from xcredit.tb_sync_job_bak where lid<1000 group by lid limit 5000 | | 4 | 0.00019800 | select * from xcredit.tb_sync_job_bak where lid<1000 group by lid | | 5 | 0.16355550 | select * from xcredit.tb_sync_job_bak where lid<1000 | | 6 | 0.00230025 | show variables like '%profil%' | | 7 | 0.00014375 | select * from xcredit.tb_sync_job_bak group by lid%20 order by lid | | 8 | 0.00013600 | select * from xcredit.tb_sync_job_bak group by lid%20 order by 1 | | 9 | 0.00013375 | select * from xcredit.tb_sync_job_bak group by lid%20 | | 10 | 0.26594500 | select * from xcredit.tb_sync_job_bak | +----------+------------+------------------------------------------------------------------------------+ 4、查看执行计划 mysql> show profile for query 10; +----------------------+----------+ | Status | Duration | +----------------------+----------+ | starting | 0.000053 | | checking permissions | 0.000005 | | Opening tables | 0.000014 | | init | 0.000014 | | System lock | 0.000006 | | optimizing | 0.000003 | | statistics | 0.000010 | | preparing | 0.000009 | | executing | 0.000001 | | Sending data | 0.265498 | | end | 0.000009 | | query end | 0.000010 | | closing tables | 0.000008 | | freeing items | 0.000258 | | logging slow query | 0.000036 | | cleaning up | 0.000011 | +----------------------+----------+ 此查询返回八万多行数据,返回数据量较大,因此出现sending data。 关于“MySQL中profiling有什么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。 (编辑:好传媒网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |