php - pdo insert slow performance -
im experiencing issue method created insert data in 3 different tables of database, slow, , not inside loop need detect problem is... here code.
public function procesaordenrun () { #trae variables de config $data = new config(); $base_path = $data->url(); $base_path = str_replace("/classes","",$base_path); $fecha_creado = date("y-m-d"); $fecha_entrega = date('y-m-d', strtotime($fecha_creado. ' + 7 days')); $id_paciente = $_post["id_preregistro"]; $estado = "6"; $asignado = $_post["dr_remitente"]; $precio = $_post["precio_plantilla"]; $tipo_plantilla = $_post["tipo_plantilla"]; $tipo_pie = $_post["tipopie"]; $observaciones = $_post["observaciones"]; $id_usuario = $_post["id_usuario"]; $id_plantilla = $_post["id_plantilla"]; $consecutivo = $_post["consecutivo"]; //$archivo_fresado = $_post["fresado"]; //$archivo_presion = $_post["presion"]; //die(var_dump($_files["fresado"]["name"])); $archivo_fresado = "../files/".$_files["fresado"]["name"]; $archivo_presion = "../files/".$_files["presion"]["name"]; $target_dir = "../files/"; $target_file1 = $target_dir . basename($_files["fresado"]["name"]); $target_file2 = $target_dir . basename($_files["presion"]["name"]); if (!empty($_files["fresado"]["name"])){ if (move_uploaded_file($_files["fresado"]["tmp_name"], $target_file1)) { //echo "el archivo ". basename($_files["fresado"]["name"]). " se ha subido correctamente."; } else { echo "error al subir el archivo ".$target_file1; } } if (!empty($_files["presion"]["name"])){ if (move_uploaded_file($_files["presion"]["tmp_name"], $target_file2)) { //echo "el archivo ". basename($_files["presion"]["name"]). " se ha subido correctamente."; } else { echo "error al subir el archivo ".$target_file2; } } //die(var_dump($archivo_fresado)); $facturado = 0; $db = new database(); $conn = $db->conn(); try { $query = $conn->prepare('insert ortomec_orden_pedido ( id_paciente, fecha_entrega, estado, asignado, precio, tipo_plantilla, tipo_pie, archivo_fresado, archivo_presion, observacion, id_usuario, fecha_creado, facturado, id_plantilla, consecutivo ) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'); $query->bindparam(1, $id_paciente); $query->bindparam(2, $fecha_entrega); $query->bindparam(3, $estado); $query->bindparam(4, $asignado); $query->bindparam(5, $precio); $query->bindparam(6, $tipo_plantilla); $query->bindparam(7, $tipo_pie); $query->bindparam(8, $archivo_fresado); $query->bindparam(9, $archivo_presion); $query->bindparam(10, $observaciones); $query->bindparam(11, $id_usuario); $query->bindparam(12, $fecha_creado); $query->bindparam(13, $facturado); $query->bindparam(14, $id_plantilla); $query->bindparam(15, $consecutivo); $query->execute(); //return true; //self::updateorder(); //se agrego para que actualice el orden de las ordenes de pedido y asi funcionen las flechas con las que se "ordenan" $this->updateorder(); //se agrego para que actualice el orden de las ordenes de pedido y asi funcionen las flechas con las que se "ordenan" } catch( pdoexception $e ) { echo 'caught exception: ', $e->getmessage(), "\n"; return false; } $idorden = $conn->lastinsertid('id_orden_pedido'); /*$sql = "select max(id_orden_pedido) ortomec_orden_pedido"; $query = $conn->prepare( $sql ); $query->execute(); $results = $query->fetchall(); $idorden = $results[0]["max(id_orden_pedido)"];*/ /* actualiza aqui */ $bmi1 = $_post["bm1izq"]; $bmi2 = $_post["bm2izq"]; $bmi3 = $_post["bm3izq"]; $bmi4 = $_post["bm4izq"]; $bmi5 = $_post["bm5izq"]; $bmd1 = $_post["bm6izq"]; $bmd2 = $_post["bm7izq"]; $bmd3 = $_post["bm8izq"]; $bmd4 = $_post["bm9izq"]; $bmd5 = $_post["bm10izq"]; $derechaizquierda = $_post["clickeleve"]; $selectcmp = $_post["selectcmp"]; $botonmetatarsianoizq = $_post["botonmetatarsiano"]; $botonmetatarsianoder = $_post["botonmetatarsiano2"]; $elevacionder = $_post["elevacionder"]; $elevacionizq = $_post["elevacionizq"]; $almohadillaescader = $_post["almohadillaescader"]; $almoadillaescaizq = $_post["almoadillaescaizq"]; $cuniaexternader = $_post["cuniaexternader"]; $cuniaexternaizq = $_post["cuniaexternaizq"]; $cuniainternader = $_post["cuniainternader"]; $cuniainternaizq = $_post["cuniainternaizq"]; try { $query = $conn->prepare('insert ortomec_orden_correctores ( idorden, bmi1, bmi2, bmi3, bmi4, bmi5, bmd1, bmd2, bmd3, bmd4, bmd5, selectcmp, botonmetatarsianoizq, botonmetatarsianoder, derechaizquierda, elevacionder, elevacionizq, almohadillaescader, almoadillaescaizq, cuniaexternader, cuniaexternaizq, cuniainternader, cuniainternaizq ) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'); $query->bindparam(1, $idorden); $query->bindparam(2, $bmi1); $query->bindparam(3, $bmi2); $query->bindparam(4, $bmi3); $query->bindparam(5, $bmi4); $query->bindparam(6, $bmi5); $query->bindparam(7, $bmd1); $query->bindparam(8, $bmd2); $query->bindparam(9, $bmd3); $query->bindparam(10, $bmd4); $query->bindparam(11, $bmd5); $query->bindparam(12, $selectcmp); $query->bindparam(13, $botonmetatarsianoizq); $query->bindparam(14, $botonmetatarsianoder); $query->bindparam(15, $derechaizquierda); $query->bindparam(16, $elevacionder); $query->bindparam(17, $elevacionizq); $query->bindparam(18, $almohadillaescader); $query->bindparam(19, $almoadillaescaizq); $query->bindparam(20, $cuniaexternader); $query->bindparam(21, $cuniaexternaizq); $query->bindparam(22, $cuniainternader); $query->bindparam(23, $cuniainternaizq); $query->execute(); /*var_dump($query); die(var_dump("idorden ".$idorden,"bmi1 ".$bmi1,"bmi2 ".$bmi2,"bmi3 ".$bmi3,"bmi4 ".$bmi4,"bmi5 ".$bmi5,"bmd1 ".$bmd1,"bm2 ".$bmd2,"bmd3 ".$bmd3,"bmd4 ".$bmd4,"bmd5 ".$bmd5,"selectcmp ".$selectcmp,"botonmetatarsianoizq ".$botonmetatarsianoizq, "botonmetatarsianoder ".$botonmetatarsianoder,"elevacionder ".$elevacionder,"elevacionizq ".$elevacionizq,"almohadillaescader ".$almohadillaescader,"almoadillaescaizq ".$almoadillaescaizq,"cuniaexternader ".$cuniaexternader, "cuniaexternaizq ".$cuniaexternaizq,"cuniainternader ".$cuniainternader,"cuniainternaizq ".$cuniainternaizq));*/ //return true; } catch( pdoexception $e ) { echo 'caught exception: ', $e->getmessage(), "\n"; return false; } try { $completoalta = $_post["completoalta"]; $superiormedia = $_post["superiormedia"]; $superiorbaja = $_post["superiorbaja"]; $descargatalonbaja = $_post["descargatalonbaja"]; $descargatalonalta = $_post["descargatalonalta"]; $diagonalbaja = $_post["diagonalbaja"]; $diagonalmediasuperior = $_post["diagonalmediasuperior"]; $id_orden_uso = $_post["id_orden_uso"]; $detalleuso = $_post["detalleuso"]; $longitud_plantilla = $_post["longitud_plantilla"]; $tipocalzado = $_post["tipocalzado"]; $completoposicion = $_post['completo']; $superiorarriba = $_post['superiormediara']; $superiorabajo = $_post['inferioraltara']; $descargaabajo = $_post['descargatalonaltara']; $superiorinferioralta = $_post['diagonalmediasuperiorra']; $superiorinferiorbaja = $_post['diagonalaltara']; //die(var_dump($superiorinferioralta, $superiorinferiorbaja)); //die(var_dump($diagonalmediasuperior, $diagonalmediainferior, $)); $query = $conn->prepare('insert ortomec_orden_disenio_durezas ( idorden, completoposicion, completoalta, completomedia, superiorarriba, superiorabajo, superiormedia, superiorbaja, inferiormedia, inferioralta, descargaabajo, descargatalonbaja, descargatalonalta, descargatalonmedia, superiorinferioralta, superiorinferiorbaja, diagonalbaja, diagonalmediasuperior, diagonalmediainferior, diagonalalta, uso, detalleuso, longitud, tipodecalzado ) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'); $query->bindparam(1, $idorden); $query->bindparam(2, $completoposicion); $query->bindparam(3, $completoalta); $query->bindparam(4, $completomedia); $query->bindparam(5, $superiorarriba); $query->bindparam(6, $superiorabajo); $query->bindparam(7, $superiormedia); $query->bindparam(8, $superiorbaja); $query->bindparam(9, $inferiormedia); $query->bindparam(10, $inferioralta); $query->bindparam(11, $descargaabajo); $query->bindparam(12, $descargatalonbaja); $query->bindparam(13, $descargatalonalta); $query->bindparam(14, $descargatalonmedia); $query->bindparam(15, $superiorinferioralta); $query->bindparam(16, $superiorinferiorbaja); $query->bindparam(17, $diagonalbaja); $query->bindparam(18, $diagonalmediasuperior); $query->bindparam(19, $diagonalmediainferior); $query->bindparam(20, $diagonalalta); $query->bindparam(21, $id_orden_uso); $query->bindparam(22, $detalleuso); $query->bindparam(23, $longitud_plantilla); $query->bindparam(24, $tipocalzado); //die(var_dump($query)); $query->execute(); //return true; } catch( pdoexception $e ) { echo 'caught exception: ', $e->getmessage(), "\n"; return false; } }
here attach create script tables:
delimiter $$ create table `orden_pedido` ( `id_orden_pedido` int(12) not null auto_increment, `id_paciente` int(2) not null, `fecha_entrega` date not null, `estado` varchar(12) not null, `asignado` int(2) not null, `precio` double(16,2) default null, `tipo_plantilla` int(2) default null, `tipo_pie` int(11) default null, `archivo_fresado` varchar(64) default null, `archivo_presion` varchar(64) default null, `id_usuario` int(12) default null, `observacion` varchar(512) default null, `fecha_creado` date not null, `hora_creado` time not null, `facturado` tinyint(1) not null default '0', `fecha_abierta` date default null, `fecha_diseno` date default null, `fecha_produccion` date default null, `id_plantilla` int(12) default null, `orden` int(12) not null, `fecha_modificacion` date default null, `adicional` int(11) default '0', `consecutivo` int(11) default null, primary key (`id_orden_pedido`) ) engine=innodb auto_increment=388 default charset=utf8$$ delimiter $$ create table `orden_correctores` ( `idcorrector` int(12) not null auto_increment, `idorden` int(12) not null, `bmi1` int(2) default '0', `bmi2` int(2) default '0', `bmi3` int(2) default '0', `bmi4` int(2) default '0', `bmi5` int(2) default '0', `bmd1` int(2) default '0', `bmd2` int(2) default '0', `bmd3` int(2) default '0', `bmd4` int(2) default '0', `bmd5` int(2) default '0', `selectcmp` varchar(255) default '0', `botonmetatarsianoizq` int(2) default '0', `botonmetatarsianoder` int(2) default '0', `derechaizquierda` varchar(255) default '0', `elevacionder` varchar(255) default '0', `elevacionizq` varchar(255) default '0', `almohadillaescader` varchar(255) default '0', `almoadillaescaizq` varchar(255) default '0', `cuniaexternader` int(2) default '0', `cuniaexternaizq` int(2) default '0', `cuniainternader` int(2) default '0', `cuniainternaizq` int(2) default '0', primary key (`idcorrector`) ) engine=innodb auto_increment=313 default charset=utf8$$ delimiter $$ create table `orden_disenio_durezas` ( `iddiseniodurezas` int(12) not null auto_increment, `idorden` int(12) not null, `completoposicion` varchar(255) default null, `completoalta` varchar(255) default null, `completomedia` varchar(255) default null, `superiorarriba` varchar(255) default null, `superiorabajo` varchar(255) default null, `superiormedia` varchar(255) default null, `superiorbaja` varchar(255) default null, `inferiormedia` varchar(255) default null, `inferioralta` varchar(255) default null, `descargaabajo` varchar(255) default null, `descargatalonbaja` varchar(255) default null, `descargatalonalta` varchar(255) default null, `descargatalonmedia` varchar(255) default null, `superiorinferioralta` varchar(255) default null, `superiorinferiorbaja` varchar(255) default null, `diagonalbaja` varchar(255) default null, `diagonalmediasuperior` varchar(255) default null, `diagonalmediainferior` varchar(255) default null, `diagonalalta` varchar(255) default null, `uso` varchar(255) default null, `detalleuso` varchar(255) default null, `longitud` varchar(255) default null, `tipodecalzado` varchar(255) default null, primary key (`iddiseniodurezas`) ) engine=innodb auto_increment=313 default charset=utf8$$
Comments
Post a Comment