CI调用存储过程很慢怎么提速,mysql存储过程本身执行很快,但是在php调用就要0.8s

问题描述

CI调用存储过程很慢怎么提速,mysql存储过程本身执行很快,但是在php调用就要0.8s
                            $this -> db -> reconnect();                            $mysqli = new mysqli();                            $mysqli -> query(""SET NAMES utf8"");                            if (mysqli_connect_errno()) {                                    printf('Connect failed: %s
' mysqli_connect_error());                                    exit();                            }                            if($set){                                    $mysqli ->multi_query(""SET {$set} "");                            }                            //$query  = 'CALL p_MyFrontAndBackListTie(2)';                            /* execute multi query */                            if ($mysqli -> multi_query($query)) {                                    do {                                            /* store first result set */                                            if ($result = $mysqli -> store_result()) {                                                     while ($row = $result -> fetch_all()) {                                                            $all_result[] = $row;                                                      }                                                    $result -> free();                                            }                                    }                                    while ($mysqli -> next_result());                            }                                    /* close connection */                            $mysqli -> close();                            return $all_result;

解决方案

php调用mysql存储过程和函数的方法
php调用mysql存储过程和函数的方法
php调用mysql存储过程和函数的方法

时间: 2024-08-26 04:26:07

CI调用存储过程很慢怎么提速,mysql存储过程本身执行很快,但是在php调用就要0.8s的相关文章

关于shell调用MySQL存储过程的问题

前天收到一个任务,要统计每天ETL的运行情况,感觉每天从给的SQL语句一个一个的查询影响效率. 就行用写一个存储过程来实现,然后通过shell调用这个存储过程来自动跑数据,写到相应的文件里~ 思路就是这样,废话不说,上一下写好的代码. DELIMITER // create procedure sp_etl_info_day (in statis_date int) begin declare num_day int default 0; declare num_month int defaul

mysql存储过程详细教程

记录MYSQL存储过程中的关键语法: DELIMITER //  声明语句结束符,用于区分;CREATE PROCEDURE demo_in_parameter(IN p_in int)  声明存储过程BEGIN .... END  存储过程开始和结束符号SET @p_in=1   变量赋值 DECLARE l_int int unsigned default 4000000;  变量定义 什么是mysql存储例程? 存储例程是存储在数据库服务器中的一组sql语句,通过在查询中调用一个指定的名称

mysql存储过程总结详解

1.      存储过程简介   我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它. 一个存储过程是一个可编程的函数,它在数据库中创建并保存.它可以有SQL语句和一些特殊的控制结构组成.当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的.数据库中的存储过程可以

MySQL存储过程详解 mysql 存储过程

mysql存储过程详解 1.      存储过程简介   我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它. 一个存储过程是一个可编程的函数,它在数据库中创建并保存.它可以有SQL语句和一些特殊的控制结构组成.当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的

mysql存储过程入门

mysql存储过程详解 1.     存储过程简介   我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(StoredProcedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它. 一个存储过程是一个可编程的函数,它在数据库中创建并保存.它可以有SQL语句和一些特殊的控制结构组成.当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的.数

mysql存储过程详解_Mysql

1.存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它. 一个存储过程是一个可编程的函数,它在数据库中创建并保存.它可以有SQL语句和一些特殊的控制结构组成.当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的.数据库中的存储过程可以看做是对编程中面

MySQL存储过程中使用动态行转列_Mysql

本文介绍的实例成功的实现了动态行转列.下面我以一个简单的数据库为例子,说明一下. 数据表结构 这里我用一个比较简单的例子来说明,也是行转列的经典例子,就是学生的成绩 三张表:学生表.课程表.成绩表 学生表就简单一点,学生学号.学生姓名两个字段 CREATE TABLE `student` ( `stuid` VARCHAR(16) NOT NULL COMMENT '学号', `stunm` VARCHAR(20) NOT NULL COMMENT '学生姓名', PRIMARY KEY (`s

MySQL 存储过程参数:in、out、inout

一.MySQL 存储过程参数(in) MySQL 存储过程 "in" 参数:跟 C 语言的函数参数的值传递类似, MySQL 存储过程内部可能会修改此参数,但对 in 类型参数的修改,对调用者(caller)来说是不可见的(not visible). Java代码   drop procedure if exists pr_param_in;   create procedure pr_param_in(       in id int -- in 类型的 MySQL 存储过程参数  

详解MySQL存储过程参数有三种类型(in、out、inout)_Mysql

一.MySQL 存储过程参数(in) MySQL 存储过程 "in" 参数:跟 C 语言的函数参数的值传递类似, MySQL 存储过程内部可能会修改此参数,但对 in 类型参数的修改,对调用者(caller)来说是不可见的(not visible). 复制代码 代码如下: drop procedure if exists pr_param_in; create procedure pr_param_in ( in id int -- in 类型的 MySQL 存储过程参数 ) begi