zoukankan      html  css  js  c++  java
  • php(thinkphp)插入上万条mysql数据最快的方法!

    使用thinkphp框架

    先生成包含所有数据的数组,再使用 addAll() 方法,插入1万条数据仅需3秒钟。

    //给所有用户推送系统消息
        public function pushSystemMessage(){
            if(IS_AJAX){
                $platform = I('post.platform');//适用平台 1-wap端,2-PC端,3-APP端 $platfrom = [1,2,3]
                $pushUser = I('post.pushUser');
                $id = I('post.id');
                
                //全部用户
                if($pushUser == 'all'){
                    $allUser = M('user')->order('user_id desc')->field('user_id')->select();
                    $time = time();
                    foreach ($platform as $pkey => $pvalue) {
                        $platFormData = array(
                            'platform' => $pvalue,
                        );
                        $messageDatas = [];
                        foreach ($allUser as $key => $value) {
                            $messageData = array(
                                'user_id' => $value['user_id'],
                                'mc_id' => $id,
                                'atime' => $time,
                            );
                            $messageDatas[] = array_merge($platFormData,$messageData);
                            
                            
                        }
                        $lastId = $this->messageCenterUser->addAll($message_Datas);//这个是关键
                    }
     
                //部分用户,后期扩展
                }else{
     
                }
      
                if(!is_numeric($lastId)){
                    echo json_encode(['info'=>'系统消息推送失败!','status'=>'0']);
                }else{
                    //推送成功,把对应的系统消息变成已推送
                    $data = ['is_push'=>1];
                    M('message_c')->where('id='.$id)->save($data);
                    echo json_encode(['info'=>'推送系统消息成功!','status'=>'1']);
                }
            }else{
                $id = I('get.id');
                if($id){
                   $systemMessage = M('message_c')->where('id='.$id)->find();
                   $this->assign('systemM',$systemMessage);
                }
                $this->display('pushSystemMessage');
            }
        }
     
  • 相关阅读:
    软件工程个人作业01
    阅读计划及浅读问题
    引言作业1
    多态和异常分析课后
    大道至简七八章阅读
    接口与继承 课后实践
    构建执法阅读笔记02
    冲刺第五天
    学习进度条七
    冲刺第四天
  • 原文地址:https://www.cnblogs.com/Essaycode/p/10160451.html
Copyright © 2011-2022 走看看