400-650-7353

您现在的位置: 软件测试培训 > 技术干货 >

【软件测试基础知识】如何解决SQL语句使用不当导致的性能低问题

  • 来源:
  • 2020-09-08 15:16:31
  • 分享
  • 手机端入口

今天咱们就说一下测试涉及数据库操作的功能时如何发现SQL语句使用不当导致的性能低的问题。主要方法就是通过EXPLAIN命令查看SQL语句的执行计划,如果执行计划中没有使用任何索引,基本上可以确认是性能问题,其他情况需要具体分析。如果开发不信,将SQL语句涉及的表格插入100万行然后执行相同的功能操作看看。

今天的例子以Mysql数据库演示结果,其他数据库也是类似操作。

执行explain之后结果集包含如下信息:

+----+-------------+-------+------------+------+---------------+------+---------+------+--------+----------+-------+

|

| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |

+

+----+-------------+-------+------------+------+---------------+------+---------+------+--------+----------+-------+

每个字段解释如下表:

执行样例:

mysql> explain select * from test where id > 1;

+----+-------------+-------+-------+---------------+---------+---------+------+-------+-------------+

|

| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |

+

+----+-------------+-------+-------+---------------+---------+---------+------+-------+-------------+

|

| 1 | SIMPLE | test | range | PRIMARY | PRIMARY | 8 | NULL | 34252 | Using where |

+

+----+-------------+-------+-------+---------------+---------+---------+------+-------+-------------+

大家初步使用执行计划时,可以只关注type的取值是否是ALL即可,如果是ALL就说明SQL语句执行会导致全表扫描,这种SQL语句在表记录较多时会引入性能问题。

 

注:本站稿件未经许可不得转载,若转载请保留出处及源文件地址。

关于技术干货

优就业软件测试培训技术干货栏目,为大 家提供各种与软件测试学习和软件测试培训 相关的技术干货,帮助大家答疑解惑,致力 于更多人做好选择,安心学习!

优就业软件测试培训课程采用理论+实战 +实训的教学模式,由优就业一线名师领衔 教学,培养软件测试开发实战人才!

想要了解更多关于软件测试培训的相关内 容,请继续关注优就业软件测试培训常见问 题。

关于我们
优就业官方微信 扫描二维码,备注:大礼包,即领学习干货
优就业官方微博 扫码关注,更有精彩活动 等你参与
优就业官方QQ群 加群备注:网站 咨询电话:(9:00-22:00) 400-650-7353