php 函数速度问题,在线给分!

zgycsmb 2008-09-18 11:14:50
在一地方调用下面的函数:

function auto_update_leave_module()
{
if($this->isHR())
{
$userId=$this->getAllStaffUserId();
foreach($userId as $id)
{

$user_id = $id["user_id"];
// $this->update_paid_personal_leave($user_id);
$this->subtract_annual_when_forgot($user_id);
// $this->update_annual($user_id );
$this->update_off($user_id );
$this->update_off_12($user_id );
$this->update_medical($user_id );
$this->auto_update_leave_to_completed($user_id );
}
$this->auto_cancel_annual_leave();
$this->auto_cancel_adv_annual_leave();
$this->auto_cancel_medical_leave();
$this->auto_cancel_off();
$this->auto_cancel_personal_leave();
$this->auto_cancel_adv_personal_leave();
}
}

这一函数中又要调用很多函数,(必要调用的)
这样运行起来要的时间蛮多,
现想办法把时间变少
(如可用定时器,或把其中函数分开调用,别人提的)
大家有什么办法吗,
帮我修改下,要可运行的代码,
谢谢
...全文
184 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wxq4100798 2008-09-19
  • 打赏
  • 举报
回复
单独一个 存储过程吧
liufabin 2008-09-19
  • 打赏
  • 举报
回复
xcache,等优化的好是好使嘛?
justicesun 2008-09-19
  • 打赏
  • 举报
回复
操作数据库 用PDO会快很多

把你那个对象里面的方法改成调用PDO的试试

程序猿之殇 2008-09-18
  • 打赏
  • 举报
回复
代码优化一下吧.
对于一个可以重用的数据,加入到$_SESSION里,或者生成一些临时文件.
注意不要重复的操作数据库获取或者更新相同的数据.

foreach($userId as $id)
在循环里,进行数据库操作,可不是个好方法.假如你有1000条,哪不是要执行1000次,呵呵.
尽量减少数据库的操作.
wangbo_wb 2008-09-18
  • 打赏
  • 举报
回复
加入缓存吧,把数据暂存在php数组文件里
imDaBaiCai 2008-09-18
  • 打赏
  • 举报
回复
jf

剑心永远OK 2008-09-18
  • 打赏
  • 举报
回复
并不是调用函数的问题,是你每个函数里面都有处理而已..
zgycsmb 2008-09-18
  • 打赏
  • 举报
回复
我说详细点
就是一个admin login进入后就会调用
$GLOBALS["crm"]->account->auto_update_leave_module();
这函数为:
function auto_update_leave_module()
{
if($this->isHR())
{
$userId=$this->getAllStaffUserId();
foreach($userId as $id) //通过user_id 走下去
{
$user_id = $id["user_id"];
$this->update_paid_personal_leave($user_id); //这几个this都是有用的,用来更改db数据。
$this->subtract_annual_when_forgot($user_id);
$this->update_annual($user_id );
$this->update_off($user_id );
$this->update_off_12($user_id );
$this->update_medical($user_id );
$this->auto_update_leave_to_completed($user_id );
}

}
}

情况就是这样,
大家帮我想想办法,
gaerelva 2008-09-18
  • 打赏
  • 举报
回复
写一个调用多个平级的~别写层层嵌套的~
xiaolei1982 2008-09-18
  • 打赏
  • 举报
回复
这个东西怎么帮你,你的需求我们不知道,只看函数调用也不知道要实现什么,
你自己一个一个的加上注释,看看哪个是你要的哪个不是
zgycsmb 2008-09-18
  • 打赏
  • 举报
回复
1 楼说的对,是我调用的函数中都有处理,
可怎么处理呀,大家帮帮我咯,
写点可用的代码,
谢谢

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧