【mysql】Mysql的profile的使用 --- Profilling mysql的性能分析工具

MySQL 性能分析之Profile MySQL提供了一个非常有用的诊断工具,称为“Profile”,用于分析SQL语句的执行情况,帮助开发者优化查询。Profile可以给出查询执行的详细信息,比如每个阶段花费的时间等。 阅读详情
1.有关profile的解释
--当前版本
mysql> show variables like 'version';
+---------------+------------+
| Variable_name | Value      |
+---------------+------------+
| version       | 5.5.29-log |
+---------------+------------+
 
--查看profiling系统变量
mysql> show variables like '%profil%';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| profiling              | OFF   |   --开启SQL语句剖析功能。0或OFF表示关闭(默认模式)。1或ON表示开启
| profiling_history_size | 15    |   --设置保留profiling的数目,缺省为15(即使用show profiles;命令展示的默认是最近执行的15条sql的记录),范围为0至100,为0时将禁用profiling。这个参数在MySQL 5.6.8过期,在后期版本中会被移除。
+------------------------+-------+
 
如果将profiling_history_size参数设置为0,同样具有关闭MySQL的profiling效果。
 
--获取profile的帮助
mysql> help profile;
Name: 'SHOW PROFILE'
Description:
Syntax:
SHOW PROFILE [type [, type] ... ]
    [FOR QUERY n]      --如果不指定,只是显示最近执行的语句;如果指定会显示语句n,n对应query_id的值
    [LIMIT row_count [OFFSET offset]]
  
type:
    ALL                --显示所有的开销信息
  | BLOCK IO           --显示块IO相关开销
  | CONTEXT SWITCHES   --上下文切换相关开销
  | CPU                --显示CPU相关开销信息
  | IPC                --显示发送和接收相关开销信息
  | MEMORY             --显示内存相关开销信息
  | PAGE FAULTS        --显示页面错误相关开销信息
  | SOURCE             --显示和Source_function,Source_file,Source_line相关的开销信息
  | SWAPS              --显示交换次数相关开销的信息
 
Profiling由会话级别参数profiling控制。缺省是显示状态和持续时间。
上面描述从5.6.7开始该命令将会被移除,用Performance Schema instead代替
 
2、开启porfiling
 
--启用session级别的profiling
mysql> set profiling=1;
Query OK, 0 rows affected, 1 warning (0.00 sec)
  
--验证修改后的结果
mysql> show variables like '%profil%';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| profiling              | ON    |
| profiling_history_size | 15    |
+------------------------+-------+
  
--执行SQL查询
mysql> show databases;
mysql> show tables;
mysql> select count(*) from emp
  
--查看当前session所有已产生的profile【注意,要显示Query_ID 和 Query列,需要使用的命令是 show profiles;】
mysql> show profiles;
+----------+------------+-------------------------------------------------------+
| Query_ID | Duration   | Query                                                                                                                                                                                                                                                                                                        |
--------------------------------------------------------------------------------+
|        1 | 0.00037700 | show variables like '%profil%'                                                                                                                                                                                                                                                                               |
|        2 | 0.00029500 | show databases                                                                                                                                                                                                                                                                                               |
|        3 | 0.00030800 | show tables                                                                                                                                                                                                                                                                                                  |
|        4 | 0.00135700 | select count(*) from emp
+----------+------------+-------------------------------------------------------+
 
3、获取SQL语句的开销信息
  
--可以直接使用show profile来查看上一条SQL语句的开销信息
--注,show profile之类的语句不会被profiling,即自身不会产生Profiling
mysql> show profile;
+--------------------+----------+
| Status             | Duration |
+--------------------+----------+
| starting           | 0.000997 |
| Opening tables     | 0.000015 |
| System lock        | 0.000003 |
| Table lock         | 0.000515 |
| optimizing         | 0.000093 |
| statistics         | 0.151343 |
| preparing          | 0.000082 |
| executing          | 0.000027 |
| Sending data       | 0.081436 |
| init               | 0.000024 |
| optimizing         | 0.000006 |
| statistics         | 0.000006 |
| preparing          | 0.000007 |
| executing          | 0.000005 |
| Sending data       | 0.000046 |
| end                | 0.000004 |
| query end          | 0.000003 |
| freeing items      | 0.000076 |
| removing tmp table | 0.000006 |
| closing tables     | 0.000004 |
| logging slow query | 0.000002 |
| cleaning up        | 0.000004 |
+--------------------+----------+
 
--显示所有性能信息【这里的9  就是使用上面的 show profiles;命令获取到的 自己想要查看的哪个 sql语句的 Query_ID】
mysql> show profile all for query 9;
+--------------------+----------+----------+------------+-------------------+---------------------+--------------+---------------+---------------+-------------------+-------------------+-------------------+-------+------------------+---------------+-------------+
| Status             | Duration | CPU_user | CPU_system | Context_voluntary | Context_involuntary | Block_ops_in | Block_ops_out | Messages_sent | Messages_received | Page_faults_major | Page_faults_minor | Swaps | Source_function  | Source_file   | Source_line |
+--------------------+----------+----------+------------+-------------------+---------------------+--------------+---------------+---------------+-------------------+-------------------+-------------------+-------+------------------+---------------+-------------+
| starting           | 0.000997 | 0.000000 |   0.000000 |                 0 |                   1 |            0 |             0 |             0 |                 0 |                 0 |                 0 |     0 | NULL             | NULL          |        NULL |
| Opening tables     | 0.000015 | 0.000000 |   0.000000 |                 0 |                   0 |            0 |             0 |             0 |                 0 |                 0 |                 0 |     0 | unknown function | sql_base.cc   |        4622 |
| System lock        | 0.000003 | 0.000000 |   0.000000 |                 0 |                   0 |            0 |             0 |             0 |                 0 |                 0 |                 0 |     0 | unknown function | lock.cc       |         260 |
| Table lock         | 0.000515 | 0.001000 |   0.000000 |                 0 |                   0 |            0 |             0 |             0 |                 0 |                 0 |                 0 |     0 | unknown function | lock.cc       |         271 |
| optimizing         | 0.000093 | 0.000000 |   0.000000 |                 0 |                   1 |            0 |             0 |             0 |                 0 |                 0 |                 0 |     0 | unknown function | sql_select.cc |         835 |
| statistics         | 0.151343 | 0.124981 |   0.023996 |                 1 |                 155 |            0 |             0 |             0 |                 0 |                 0 |                39 |     0 | unknown function | sql_select.cc |        1026 |
| preparing          | 0.000082 | 0.000000 |   0.000000 |                 0 |                   0 |            0 |             0 |             0 |                 0 |                 0 |                 0 |     0 | unknown function | sql_select.cc |        1048 |
| executing          | 0.000027 | 0.000000 |   0.000000 |                 0 |                   1 |            0 |             0 |             0 |                 0 |                 0 |                 0 |     0 | unknown function | sql_select.cc |        1789 |
| Sending data       | 0.081436 | 0.072989 |   0.006999 |                 0 |                  82 |            0 |             0 |             0 |                 0 |                 0 |                 0 |     0 | unknown function | sql_select.cc |        2347 |
| init               | 0.000024 | 0.000000 |   0.000000 |                 0 |                   0 |            0 |             0 |             0 |                 0 |                 0 |                 0 |     0 | unknown function | sql_select.cc |        2537 |
| optimizing         | 0.000006 | 0.000000 |   0.000000 |                 0 |                   0 |            0 |             0 |             0 |                 0 |                 0 |                 0 |     0 | unknown function | sql_select.cc |         835 |
| statistics         | 0.000006 | 0.000000 |   0.000000 |                 0 |                   0 |            0 |             0 |             0 |                 0 |                 0 |                 0 |     0 | unknown function | sql_select.cc |        1026 |
| preparing          | 0.000007 | 0.000000 |   0.000000 |                 0 |                   0 |            0 |             0 |             0 |                 0 |                 0 |                 0 |     0 | unknown function | sql_select.cc |        1048 |
| executing          | 0.000005 | 0.000000 |   0.000000 |                 0 |                   0 |            0 |             0 |             0 |                 0 |                 0 |                 0 |     0 | unknown function | sql_select.cc |        1789 |
| Sending data       | 0.000046 | 0.000000 |   0.000000 |                 0 |                   0 |            0 |             0 |             0 |                 0 |                 0 |                 0 |     0 | unknown function | sql_select.cc |        2347 |
| end                | 0.000004 | 0.000000 |   0.000000 |                 0 |                   0 |            0 |             0 |             0 |                 0 |                 0 |                 0 |     0 | unknown function | sql_select.cc |        2583 |
| query end          | 0.000003 | 0.000000 |   0.000000 |                 0 |                   0 |            0 |             0 |             0 |                 0 |                 0 |                 0 |     0 | unknown function | sql_parse.cc  |        5123 |
| freeing items      | 0.000076 | 0.001000 |   0.000000 |                 1 |                   0 |            0 |             0 |             0 |                 0 |                 0 |                 0 |     0 | unknown function | sql_parse.cc  |        6147 |
| removing tmp table | 0.000006 | 0.000000 |   0.000000 |                 0 |                   0 |            0 |             0 |             0 |                 0 |                 0 |                 0 |     0 | unknown function | sql_select.cc |       10929 |
| closing tables     | 0.000004 | 0.000000 |   0.000000 |                 0 |                   0 |            0 |             0 |             0 |                 0 |                 0 |                 0 |     0 | unknown function | sql_select.cc |       10954 |
| logging slow query | 0.000002 | 0.000000 |   0.000000 |                 0 |                   0 |            0 |             0 |             0 |                 0 |                 0 |                 0 |     0 | unknown function | sql_parse.cc  |        1735 |
| cleaning up        | 0.000004 | 0.000000 |   0.000000 |                 0 |                   0 |            0 |             0 |             0 |                 0 |                 0 |                 0 |     0 | unknown function | sql_parse.cc  |        1703 |
+--------------------+----------+----------+------------+-------------------+---------------------+--------------+---------------+---------------+-------------------+-------------------+-------------------+-------+------------------+---------------+-------------+
 
--获取指定查询的开销
mysql> show profile for query 9;
+--------------------+----------+
| Status             | Duration |
+--------------------+----------+
| starting           | 0.000997 |
| Opening tables     | 0.000015 |
| System lock        | 0.000003 |
| Table lock         | 0.000515 |
| optimizing         | 0.000093 |
| statistics         | 0.151343 |
| preparing          | 0.000082 |
| executing          | 0.000027 |
| Sending data       | 0.081436 |
| init               | 0.000024 |
| optimizing         | 0.000006 |
| statistics         | 0.000006 |
| preparing          | 0.000007 |
| executing          | 0.000005 |
| Sending data       | 0.000046 |
| end                | 0.000004 |
| query end          | 0.000003 |
| freeing items      | 0.000076 |
| removing tmp table | 0.000006 |
| closing tables     | 0.000004 |
| logging slow query | 0.000002 |
| cleaning up        | 0.000004 |
+--------------------+----------+
 
mysql> show profile for query 9 limit 3;
+----------------+----------+
| Status         | Duration |
+----------------+----------+
| starting       | 0.000997 |
| Opening tables | 0.000015 |
| System lock    | 0.000003 |
+----------------+----------+
 
mysql> show profile for query 9 limit 3 offset 5;
+------------+----------+
| Status     | Duration |
+------------+----------+
| statistics | 0.151343 |
| preparing  | 0.000082 |
| executing  | 0.000027 |
+------------+----------+
 
--查看特定部分的开销,如下为CPU部分的开销
mysql> show profile cpu for query  9;
+--------------------+----------+----------+------------+
| Status             | Duration | CPU_user | CPU_system |
+--------------------+----------+----------+------------+
| starting           | 0.000997 | 0.000000 |   0.000000 |
| Opening tables     | 0.000015 | 0.000000 |   0.000000 |
| System lock        | 0.000003 | 0.000000 |   0.000000 |
| Table lock         | 0.000515 | 0.001000 |   0.000000 |
| optimizing         | 0.000093 | 0.000000 |   0.000000 |
| statistics         | 0.151343 | 0.124981 |   0.023996 |
| preparing          | 0.000082 | 0.000000 |   0.000000 |
| executing          | 0.000027 | 0.000000 |   0.000000 |
| Sending data       | 0.081436 | 0.072989 |   0.006999 |
| init               | 0.000024 | 0.000000 |   0.000000 |
| optimizing         | 0.000006 | 0.000000 |   0.000000 |
| statistics         | 0.000006 | 0.000000 |   0.000000 |
| preparing          | 0.000007 | 0.000000 |   0.000000 |
| executing          | 0.000005 | 0.000000 |   0.000000 |
| Sending data       | 0.000046 | 0.000000 |   0.000000 |
| end                | 0.000004 | 0.000000 |   0.000000 |
| query end          | 0.000003 | 0.000000 |   0.000000 |
| freeing items      | 0.000076 | 0.001000 |   0.000000 |
| removing tmp table | 0.000006 | 0.000000 |   0.000000 |
| closing tables     | 0.000004 | 0.000000 |   0.000000 |
| logging slow query | 0.000002 | 0.000000 |   0.000000 |
| cleaning up        | 0.000004 | 0.000000 |   0.000000 |
+--------------------+----------+----------+------------+
 
 
--如下为MEMORY部分的开销
mysql> show profile memory for query 9 ;
+--------------------+----------+
| Status             | Duration |
+--------------------+----------+
| starting           | 0.000997 |
| Opening tables     | 0.000015 |
| System lock        | 0.000003 |
| Table lock         | 0.000515 |
| optimizing         | 0.000093 |
| statistics         | 0.151343 |
| preparing          | 0.000082 |
| executing          | 0.000027 |
| Sending data       | 0.081436 |
| init               | 0.000024 |
| optimizing         | 0.000006 |
| statistics         | 0.000006 |
| preparing          | 0.000007 |
| executing          | 0.000005 |
| Sending data       | 0.000046 |
| end                | 0.000004 |
| query end          | 0.000003 |
| freeing items      | 0.000076 |
| removing tmp table | 0.000006 |
| closing tables     | 0.000004 |
| logging slow query | 0.000002 |
| cleaning up        | 0.000004 |
+--------------------+----------+
  
--同时查看不同资源开销
mysql> show profile block io,cpu for query 9;
+--------------------+----------+----------+------------+--------------+---------------+
| Status             | Duration | CPU_user | CPU_system | Block_ops_in | Block_ops_out |
+--------------------+----------+----------+------------+--------------+---------------+
| starting           | 0.000997 | 0.000000 |   0.000000 |            0 |             0 |
| Opening tables     | 0.000015 | 0.000000 |   0.000000 |            0 |             0 |
| System lock        | 0.000003 | 0.000000 |   0.000000 |            0 |             0 |
| Table lock         | 0.000515 | 0.001000 |   0.000000 |            0 |             0 |
| optimizing         | 0.000093 | 0.000000 |   0.000000 |            0 |             0 |
| statistics         | 0.151343 | 0.124981 |   0.023996 |            0 |             0 |
| preparing          | 0.000082 | 0.000000 |   0.000000 |            0 |             0 |
| executing          | 0.000027 | 0.000000 |   0.000000 |            0 |             0 |
| Sending data       | 0.081436 | 0.072989 |   0.006999 |            0 |             0 |
| init               | 0.000024 | 0.000000 |   0.000000 |            0 |             0 |
| optimizing         | 0.000006 | 0.000000 |   0.000000 |            0 |             0 |
| statistics         | 0.000006 | 0.000000 |   0.000000 |            0 |             0 |
| preparing          | 0.000007 | 0.000000 |   0.000000 |            0 |             0 |
| executing          | 0.000005 | 0.000000 |   0.000000 |            0 |             0 |
| Sending data       | 0.000046 | 0.000000 |   0.000000 |            0 |             0 |
| end                | 0.000004 | 0.000000 |   0.000000 |            0 |             0 |
| query end          | 0.000003 | 0.000000 |   0.000000 |            0 |             0 |
| freeing items      | 0.000076 | 0.001000 |   0.000000 |            0 |             0 |
| removing tmp table | 0.000006 | 0.000000 |   0.000000 |            0 |             0 |
| closing tables     | 0.000004 | 0.000000 |   0.000000 |            0 |             0 |
| logging slow query | 0.000002 | 0.000000 |   0.000000 |            0 |             0 |
| cleaning up        | 0.000004 | 0.000000 |   0.000000 |            0 |             0 |
+--------------------+----------+----------+------------+--------------+---------------+
 
--显示swap的次数。
mysql> show profile swaps for query 9;
+--------------------+----------+-------+
| Status             | Duration | Swaps |
+--------------------+----------+-------+
| starting           | 0.000997 |     0 |
| Opening tables     | 0.000015 |     0 |
| System lock        | 0.000003 |     0 |
| Table lock         | 0.000515 |     0 |
| optimizing         | 0.000093 |     0 |
| statistics         | 0.151343 |     0 |
| preparing          | 0.000082 |     0 |
| executing          | 0.000027 |     0 |
| Sending data       | 0.081436 |     0 |
| init               | 0.000024 |     0 |
| optimizing         | 0.000006 |     0 |
| statistics         | 0.000006 |     0 |
| preparing          | 0.000007 |     0 |
| executing          | 0.000005 |     0 |
| Sending data       | 0.000046 |     0 |
| end                | 0.000004 |     0 |
| query end          | 0.000003 |     0 |
| freeing items      | 0.000076 |     0 |
| removing tmp table | 0.000006 |     0 |
| closing tables     | 0.000004 |     0 |
| logging slow query | 0.000002 |     0 |
| cleaning up        | 0.000004 |     0 |
+--------------------+----------+-------+
 
--下面的SQL语句用于查询query_id为9的SQL开销,且按最大耗用时间倒序排列
mysql> set @query_id=9;
  
mysql> SELECT STATE,
    ->        SUM(DURATION) AS Total_R,
    ->        ROUND(100 * SUM(DURATION) /
    ->              (SELECT SUM(DURATION)
    ->                 FROM INFORMATION_SCHEMA.PROFILING
    ->                WHERE QUERY_ID = @query_id),
    ->              2) AS Pct_R,
    ->        COUNT(*) AS Calls,
    ->        SUM(DURATION) / COUNT(*) AS "R/Call"
    ->   FROM INFORMATION_SCHEMA.PROFILING
    ->  WHERE QUERY_ID = @query_id
    ->  GROUP BY STATE
    ->  ORDER BY Total_R DESC;
+--------------------+----------+-------+-------+--------------+
| STATE              | Total_R  | Pct_R | Calls | R/Call       |
+--------------------+----------+-------+-------+--------------+
| statistics         | 0.151349 | 64.49 |     2 | 0.0756745000 |--最大耗用时间部分为statistics
| Sending data       | 0.081482 | 34.72 |     2 | 0.0407410000 |
| starting           | 0.000997 |  0.42 |     1 | 0.0009970000 |
| Table lock         | 0.000515 |  0.22 |     1 | 0.0005150000 |
| optimizing         | 0.000099 |  0.04 |     2 | 0.0000495000 |
| preparing          | 0.000089 |  0.04 |     2 | 0.0000445000 |
| freeing items      | 0.000076 |  0.03 |     1 | 0.0000760000 |
| executing          | 0.000032 |  0.01 |     2 | 0.0000160000 |
| init               | 0.000024 |  0.01 |     1 | 0.0000240000 |
| Opening tables     | 0.000015 |  0.01 |     1 | 0.0000150000 |
| removing tmp table | 0.000006 |  0.00 |     1 | 0.0000060000 |
| cleaning up        | 0.000004 |  0.00 |     1 | 0.0000040000 |
| end                | 0.000004 |  0.00 |     1 | 0.0000040000 |
| closing tables     | 0.000004 |  0.00 |     1 | 0.0000040000 |
| query end          | 0.000003 |  0.00 |     1 | 0.0000030000 |
| System lock        | 0.000003 |  0.00 |     1 | 0.0000030000 |
| logging slow query | 0.000002 |  0.00 |     1 | 0.0000020000 |
+--------------------+----------+-------+-------+--------------+
  
--开启profiling后,我们可以通过show profile等方式查看,其实质是这些开销信息被记录到information_schema.profiling表
--如下面的查询,部分信息省略
mysql> select * from profiling limit 3,3\G;
*************************** 1. row ***************************
           QUERY_ID: 2
                SEQ: 4
              STATE: Table lock
           DURATION: 0.000007
           CPU_USER: 0.000000
         CPU_SYSTEM: 0.000000
  CONTEXT_VOLUNTARY: 0
CONTEXT_INVOLUNTARY: 0
       BLOCK_OPS_IN: 0
      BLOCK_OPS_OUT: 0
      MESSAGES_SENT: 0
  MESSAGES_RECEIVED: 0
  PAGE_FAULTS_MAJOR: 0
  PAGE_FAULTS_MINOR: 0
              SWAPS: 0
    SOURCE_FUNCTION: unknown function
        SOURCE_FILE: lock.cc
        SOURCE_LINE: 271
*************************** 2. row ***************************
           QUERY_ID: 2
                SEQ: 5
              STATE: init
           DURATION: 0.000010
           CPU_USER: 0.000000
         CPU_SYSTEM: 0.000000
  CONTEXT_VOLUNTARY: 0
CONTEXT_INVOLUNTARY: 0
       BLOCK_OPS_IN: 0
      BLOCK_OPS_OUT: 0
      MESSAGES_SENT: 0
  MESSAGES_RECEIVED: 0
  PAGE_FAULTS_MAJOR: 0
  PAGE_FAULTS_MINOR: 0
              SWAPS: 0
    SOURCE_FUNCTION: unknown function
        SOURCE_FILE: sql_select.cc
        SOURCE_LINE: 2537
*************************** 3. row ***************************
           QUERY_ID: 2
                SEQ: 6
              STATE: optimizing
           DURATION: 0.000003
           CPU_USER: 0.000000
         CPU_SYSTEM: 0.000000
  CONTEXT_VOLUNTARY: 0
CONTEXT_INVOLUNTARY: 0
       BLOCK_OPS_IN: 0
      BLOCK_OPS_OUT: 0
      MESSAGES_SENT: 0
  MESSAGES_RECEIVED: 0
  PAGE_FAULTS_MAJOR: 0
  PAGE_FAULTS_MINOR: 0
              SWAPS: 0
    SOURCE_FUNCTION: unknown function
        SOURCE_FILE: sql_select.cc
        SOURCE_LINE: 835
3 rows in set (0.00 sec)
 
ERROR:
No query specified
 
mysql>
  
--停止profile,可以设置profiling参数,或者在session退出之后,profiling会被自动关闭
mysql> set profiling=off;
Query OK, 0 rows affected, 1 warning (0.00 sec)

MySql调优工具(1)profiler诊断工具 Mysql中自带性能分析工具Profile。注意:profile仅对当前会话有效。 阅读详情

相关推荐

使用MySQL数据库的Profile功能

当我们启用Profile功能后,MySQL会记录查询执行的各个阶段的详细信息,包括查询的执行时间、扫描的行数、使用的索引、临时表的创建等等。这些信息可以帮助我们了解查询的性能瓶颈,并找出优化查询的方法。通过启用Profile功能并查看Profile数据,我们可以了解查询的性能瓶颈,并采取相应的优化措施。通过查看Profile的详细信息,我们可以了解查询的执行时间、使用的索引、扫描的行数等信息,从而确定是否需要优化查询。这将显示特定Profile的详细信息,包括每个阶段的执行时间、扫描的行数、使用的索引等。

MbfrDeveloper的博客 517

Mysql分析-profile详解(转http://blog.youkuaiyun.com/ty_hf/article/details/54895026)

一。前言当我们要对某一条sql的性能进行分析时,可以使用它。Profiling是从 mysql5.0.3版本以后才开放的。启动profile之后,所有查询包括错误的语句都会记录在内。关闭会话或者set profiling=0 就关闭了。(如果将profiling_history_size参数设置为0,同样具有关闭MySQL的profiling效果。)此工具可用来查询SQL执行状态,System l...

冰恋冬的专栏 660

【解决方案】使用transformer指定显卡后,模型依然加载到默认第1张显卡上

按理说指定了环境变量为后面几张显卡,模型会自动加载到我们指定的显卡上。可是查看gpu使用情况,发现还是加载在了第一张显卡上,这是为啥呢?

m0_56745306的博客 2439

『Mysql』Mysql中自带的性能分析工具Profile

📣读完这篇文章里你能收获到, profile的操作步骤, profile的命令详细说明

老陈聊架构 2061

AI 赋能测试全生命周期:多 Agent 协同的自动化提效方案

本文提出了一种基于Coze平台的多Agent协同测试解决方案,旨在解决软件测试中PRD解析不清晰、测试点覆盖不全、用例编写效率低、代码生成耗时等痛点。通过PRD优化、测试点生成、测试用例生成和单元测试框架生成四个Agent的协同工作,结合Cursor工具实现从需求到代码的全链路自动化。以电商平台登录模块为例,展示了从模糊PRD到标准化测试用例和可执行Java单元测试代码的完整转化流程。该方案通过AI赋能显著提升测试效率,减少人工干预,实现测试覆盖率≥95%,为快速迭代的软件研发提供了高效的测试自动化支持。

QINJIEEE的博客 1098

vscode远程连接deepin出错:过程试图写入的管道不存在的解决方法

背景:昨天我用vscode使用ssh远程开发还处于正常状态,今天刚打开电脑,并启动deepin,再次使用vscode重新连接就出现异常。意思就是22号默认端口连接被拒绝,所以要先确定ssh是否连接。3.重新进入vscode里面,重新连接,如图成功连接。,查看port后面的端口号是不是22号。1.检查sshd是否启动。

qq_43573047的博客 2946

mysql pro_【mysql】Mysql的profile的使用 --- Profilling mysql的性能分析工具

1.有关profile的解释--当前版本mysql> show variables like 'version';+---------------+------------+| Variable_name | Value |+---------------+------------+| version | 5.5.29-log |+---------------+---...

weixin_42355666的博客 362

测试 Wi-Fi、蓝牙性能

前几天去原厂测试了 Wi-Fi 和蓝牙的性能,现在把了解到的知识总结一下 RF通路新理解 RF通路一般分为两部分:芯片端、天线端 芯片端 芯片端包括芯片+芯片出来的RF匹配电路,是来调芯片的阻抗匹配的。 天线端 天线前一般也会有一段天线匹配电路,是留给天线调天线的阻抗匹配的。 调试的时候是两部分分开调试的,下面调试的就是芯片端。 测试“阻抗匹配”用网络分析仪看史密斯圆图 测试...

撒哈拉的初学者的博客 1万+

Mysql自带profiling性能分析工具

Mysql自带profiling性能分析工具   1. show variables like '%profiling%';(查看profiling信息)  www.2cto.com     2. set profiling=1;(开启profiling)   3. 执行SQL查询  例:select goods_name from ec

字符集-utf8 750

【即插即用模块】卷积篇 | TCSVT 2025 | MFACB:多尺度膨胀融合,快速扩大感受野,多尺度特征精准捕捉!

本文提出了一种新型多尺度融合膨胀卷积模块MFACB,用于增强语义分割任务中的特征表达能力。该模块通过三分支串联膨胀卷积结构快速扩大感受野,采用双路径融合机制(基础信息路径+多尺度信息路径)实现高效上下文聚合。相比传统卷积块,MFACB在保持轻量化的同时显著提升了多尺度特征捕捉能力,实验表明其性能优于基础残差块。该模块支持自定义膨胀率和步长调整,可灵活嵌入不同网络阶段,适用于需要特征增强的视觉任务。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 310

预测股票价格趋势:使用MATLAB进行股票价格预测

通过收集股票数据、数据预处理、构建预测模型以及可视化结果,我们可以利用MATLAB强大的计算和分析功能来预测股票价格的走势。然而,需要注意的是,股票市场具有高度复杂性和不确定性,预测结果仅供参考,并不构成投资建议。然而,借助计算机编程和数据分析工具,我们可以利用历史股价数据来建立模型,并预测未来的股票价格走势。首先,我们需要获取股票的历史价格数据。完成模型的拟合后,我们可以使用该模型来进行未来股票价格的预测。最后,我们可以使用MATLAB的绘图功能将预测的股票价格与实际股票价格进行对比,并进行可视化展示。

2301_79326588的博客 1018

MYSQL性能分析工具 show profiling

5.1版本开始引入show profile剖析单条语句功能 查看是否支持: 开启profiling=1 执行一个SQL语句 查看query_id  查看对于query_id对于的查询详情: 可以看到具体每一步所用时间 查看特定部分的开销,如下为CPU部分的开销

奇葩也是花 1885

分子动力学仿真软件:LAMMPS_(16).应用案例分析

通过以上四个应用案例,我们详细介绍了如何使用LAMMPS进行不同系统的分子动力学仿真。从简单的液体水仿真到复杂的纳米管仿真,每个案例都包含了详细的步骤说明和代码示例。读者可以通过这些示例实际操作并验证结果,从而更好地理解LAMMPS的功能和使用方法。希望这些案例能够为读者在分子动力学仿真领域的研究和应用提供帮助。

kkchenjj的博客 836

MySQL 慢查询日志脚本

1、查看状态 # 查看慢查询功能状态 show variables like 'slow_query_log'; # 加个%可以查看相关的功能状态 show variables like 'slow_query_log%'; 2、临时开启慢查询功能,当 MySQL Server 重启时,以上修改全部失效并恢复原状。 SET GLOBAL slow_query_log = 'ON'; SET GLOBAL slow_query_log_file = '/var/log/mysql/kalacloud-sl

sinat_30812239的博客 390

基于机器学习的电视剧类型点击量数据分析研究

1. 背景介绍 1.1 流媒体平台的兴起与电视剧市场的繁荣 近年来,随着互联网技术的飞速发展,流媒体平台如Netflix、Disney+、腾讯视频等迅速崛起,成为人们观看影视内容的主要渠道。电视剧作为流媒体平台上的重要内容类型,其点击量数据蕴含着丰富的用户偏好和市场趋势信息。

AI天才研究院 1049

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

mysql 使用profiling和explain来分析查询语句性能

通过执行计划,你可以了解到 MySQL 是如何选择索引、连接表以及访问行的顺序的。当连接使用索引的所有部分,并且索引是PRIMARY KEY或UNIQUE NOT NULL索引时,使用它。表示查询中执行的顺序,id相同从上到下按顺序执行,一般id越大优先级越高。会有三条执行计划信息,第一个查询是:PRIMARY,第二个查询是UNION,最后的结果集是UNION RESULT。1、如果判断可以使用索引进行条件过滤,走对应索引。一个索引可能左值匹配使用了部分,也可能是联合索引使用了其中的一部分。

sinat_16493273的博客 1182

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

【MySQL进阶之路】千万级数据删除导致的慢查询SQL调优实战

刚开始,线上系统收到了大量的慢查询告警,检查之后,发现慢查询的都是一些比较简单的 SQL 语句,基本上都是单行查询,因此理论上性能应该是极高的,但是却变成了慢查询,因此考虑可能不是 SQL 语句性能的问题,而是 MySQL 服务器负载过高从而导致 SQL 语句执行过慢!

qq_45260619的博客 1347

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

MongoDB:索引与性能

一、索引 MongoDB 提供了多样性的索引支持索引信息被保存在 system.indexes 中且默认总是为 _id 创建索引。 1、基础索引在字段 age 上创建索引 1 (升序); -1 (降序)上例显示出来的一共有2个索引其中_id是创建表的时候自动创建的索引此索引是不能够删除的。当系统已有大量数据时创建索引就是个非常耗时的活我们可以在后台执行只需指定“backgroud:true”即可

MitKey的博客 3193

深入浅出mysql 笔记_《深入浅出MySQL》笔记

MySQL元数据:-- 查看可用的字符编码SHOW character set; | DESC infomation_schema.character_sets;-- 查看字符集校对规则SHOW COLLATION LIKE 'gbk'; | DESC infomation_schema.COLLATIONS;-- 查看当前服务器|数据库的字符集和校对规则SHOW vari...

weixin_28728265的博客 218

mysql分析之profile详解(过去用法,但常用),一篇博客帮你理解 profile 的用法

Mysql分析-profile详解

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 2万+

mysql profile 详解_MySQL常用性能分析方法-profile,explain,索引

1.查版本号无论做什么都要确认版本号,不同的版本号下会有各种差异。>Select version();2.执行状态分析显示哪些线程正在运行>show processlist;下面是完整的信息3.show profileshow profile默认的是关闭的,但是会话级别可以开启这个功能,开启它可以让MySQL收集在执行语句的时候所使用的资源。显示数据库列表>show datab...

weixin_33532301的博客 621

MySQL 的 PROFILE (MySQL 5.7 及之前版本 可用) 详解

MySQL 的 PROFILE 工具是分析SQL查询性能的关键功能,它能详细展示查询各阶段的资源消耗(时间、CPU、IO等),帮助定位性能瓶颈。通过SET profiling=1启用后,执行SHOW PROFILES查看查询列表,再用SHOW PROFILE CPU FOR QUERY [ID]分析具体查询。重点关注耗时高的阶段如Sending data、Sorting result等。注意该功能在MySQL 5.6.7+被弃用,推荐使用Performance Schema或MySQL 8.0+的EXPLA

csdn_tom_168的博客 1032

Mysql分析-profile详解

一。前言 当我们要对某一条sql的性能进行分析时,可以使用它。 Profiling是从 mysql5.0.3版本以后才开放的。 启动profile之后,所有查询包括错误的语句都会记录在内。 关闭会话或者set profiling=0 就关闭了。(如果将profiling_history_size参数设置为0,同样具有关闭MySQL的profiling效果。) 此工具可用来

hann的专栏 2万+

mysql 开启profiles_mysql中profile的使用

是什么mysql官网定义The SHOW PROFILE and SHOW PROFILES statements display profiling information that indicates resource usage for statements executed during the course of the current session.profile是性能检测工具:简单...

weixin_36433147的博客 853

『Mysql进阶』Mysql SQL语句性能分析 Profile (七)

找到我们执行SQL的Query_ID = 2, 执行show profile。不过该工具只有在MySQL 5.0.37。Query Profiler是。以列表形式显示最近发送到服务器上执行的语句的。显示上下文切换次数,不管是主动还是被动。展示最近一条语句执行的详细资源占用信息。选择显示某条记录的性能分析信息。显示源码中的函数名称与位置。查看是否打开了性能分析功能。显示发送和接收的消息数量。以及以上版本中才有实现。,通过它可以分析出一条。,显示的记录数由变量。

gorgor在码农 703

mysql的profile_mysql中的profile

之前做sql优化,测量一个sql的效率最常用的就是看查询条数和执行时间,然后在explain的,可是用久了也会发现explain的也不一定详细,于是又发现了profile这个好东西。profile的语法为SHOW PROFILE [type [, type] ... ] [FOR QUERY n] [LIMIT row_count [OFFSET offset]] type:AL...

weixin_35758982的博客 410
上一篇: performance_schema实战
下一篇: Operator介绍
solinger
博客等级 码龄16年 125粉丝 99原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值