mysql存储过程比较_存储过程和准备语句之间的MySQL性能比较

这里是MySQL准备的声明

SELECT

ag.`attendance_type`,

ag.`description`,

COUNT(a.`attendance`) attendance_count

FROM

`ems_attendance` a

RIGHT JOIN `ems_att_group` ag

ON ag.`id` = a.`attendance`

AND a.`added_date` BETWEEN '2011-06-01'

AND '2011-06-17'

AND a.`users_id` = '9'

GROUP BY a.`attendance`

ORDER BY ag.`id`;和相应的存储过程

DELIMITER $$

DROP PROCEDURE IF EXISTS `users_attendance_report` $$

CREATE PROCEDURE `users_attendance_report` (

IN users_id INT,

IN start_date DATE,

IN end_date DATE

)

BEGIN

SELECT

ag.`attendance_type`,

ag.`description`,

COUNT(a.`attendance`) attendance_count

FROM

`ems_attendance` a

RIGHT JOIN `ems_att_group` ag

ON ag.`id` = a.`attendance`

AND a.`added_date` BETWEEN start_date

AND end_date

AND a.`users_id` = users_id

GROUP BY a.`attendance`

ORDER BY ag.`id` ;

END $$

DELIMITER;运行查询后,两者输出的结果相同。

Array

(

[0] => stdClass Object

(

[attendance_type] => present

[description] => Present

[attendance_count] => 10

)

[1] => stdClass Object

(

[attendance_type] => absent

[description] => Absent

[attendance_count] => 2

)

[2] => stdClass Object

(

[attendance_type] => other

[description] => Other

[attendance_count] => 0

)

[3] => stdClass Object

(

[attendance_type] => dayoff

[description] => Day Off

[attendance_count] => 2

)

)我仔细研究执行时间,两者都是一样的。何时何地比另一个更好更快?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值