MySQL5.7新特性之explain UPDATE/DELETE/INSERT

 在MySQL5.5版本中,explain查看执行计划,只能支持select语句,但是在MySQL5.6/5.7版本中,可以支持DML语句,即UPDATE、DELETE、INSERT。
 建立测试表accessLog和accessLog_bak进行测试:

点击(此处)折叠或打开

  1. mysql> explain select * from accessLog where id=16649850;
  2. +----+-------------+-----------+------------+-------+---------------+---------+---------+-------+------+----------+-------+
  3. | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
  4. +----+-------------+-----------+------------+-------+---------------+---------+---------+-------+------+----------+-------+
  5. | 1 | SIMPLE | accessLog | NULL | const | PRIMARY | PRIMARY | 8 | const | 1 | 100.00 | NULL |
  6. +----+-------------+-----------+------------+-------+---------------+---------+---------+-------+------+----------+-------+
  7. 1 row in set, 1 warning (0.00 sec)

  8. mysql> explain delete from accessLog where id=16649850;
  9. +----+-------------+-----------+------------+-------+---------------+---------+---------+-------+------+----------+-------------+
  10. | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
  11. +----+-------------+-----------+------------+-------+---------------+---------+---------+-------+------+----------+-------------+
  12. | 1 | DELETE | accessLog | NULL | range | PRIMARY | PRIMARY | 8 | const | 1 | 100.00 | Using where |
  13. +----+-------------+-----------+------------+-------+---------------+---------+---------+-------+------+----------+-------------+
  14. 1 row in set (0.00 sec)

  15. mysql> explain update accessLog_bak set id=111 where id=16649867;
  16. +----+-------------+---------------+------------+------+---------------+------+---------+------+--------+----------+-------------+
  17. | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
  18. +----+-------------+---------------+------------+------+---------------+------+---------+------+--------+----------+-------------+
  19. | 1 | UPDATE | accessLog_bak | NULL | ALL | NULL | NULL | NULL | NULL | 582486 | 100.00 | Using where |
  20. +----+-------------+---------------+------------+------+---------------+------+---------+------+--------+----------+-------------+
  21. 1 row in set (0.02 sec)

  22. mysql> explain insert into accessLog select * from accessLog_bak where id=111;
  23. +----+-------------+---------------+------------+------+---------------+------+---------+------+--------+----------+-------------+
  24. | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
  25. +----+-------------+---------------+------------+------+---------------+------+---------+------+--------+----------+-------------+
  26. | 1 | INSERT | accessLog | NULL | ALL | NULL | NULL | NULL | NULL | NULL | NULL | NULL |
  27. | 1 | SIMPLE | accessLog_bak | NULL | ALL | NULL | NULL | NULL | NULL | 582486 | 10.00 | Using where |
  28. +----+-------------+---------------+------------+------+---------------+------+---------+------+--------+----------+-------------+
  29. 2 rows in set (0.02 sec)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30135314/viewspace-2144572/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30135314/viewspace-2144572/

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值