mysql

mysql优化技巧

2023-11-08  本文已影响0人  顶尖少爷

有几种方法可以查看MySQL select语句的执行效率:

使用EXPLAIN命令:在执行SELECT语句之前,可以在该语句前加上EXPLAIN关键字,然后执行这个语句。这将返回一个关于查询执行计划的结果集,包含有关使用的索引、访问类型、扫描行数等信息。通过分析这些信息,可以确定查询的执行效率。

mysql> EXPLAIN SELECT * FROM `tab_user_pay_game_17` WHERE (created_at BETWEEN '2022-09-05 18:55:19' and '2024-09-05 18:55:19' ) \G
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: tab_user_pay_game_17
   partitions: partition2022,partition2023,partition2024
         type: ALL
possible_keys: idx_tab_user_pay_game_17_pay_created_at
          key: NULL
      key_len: NULL
          ref: NULL
         rows: 1481
     filtered: 100.00
        Extra: Using where
1 row in set, 1 warning (0.00 sec)

使用SHOW PROFILE命令:通过执行SET profiling=1命令打开性能分析,然后执行SELECT语句。之后,可以使用SHOW PROFILE命令来查看执行SELECT语句期间的详细性能分析信息,包括每个阶段的耗时、扫描行数等。

使用性能分析工具:MySQL提供了一些性能分析工具,如MySQL Enterprise Monitor、Percona Toolkit等。这些工具可以提供更详细的性能指标和分析报告,帮助你深入了解SELECT语句的执行效率并找出可能存在的问题。

desc sql语句

mysql> desc SELECT * FROM `tab_user_pay_game_17` WHERE (created_at BETWEEN '2022-09-05 18:55:19' and '2024-09-05 18:55:19' ) \G
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: tab_user_pay_game_17
   partitions: partition2022,partition2023,partition2024
         type: ALL
possible_keys: idx_tab_user_pay_game_17_pay_created_at
          key: NULL
      key_len: NULL
          ref: NULL
         rows: 1481
     filtered: 100.00
        Extra: Using where
1 row in set, 1 warning (0.00 sec)

上一篇 下一篇

猜你喜欢

热点阅读