MySQL время выполнения запроса в PHP - PullRequest
0 голосов
/ 25 марта 2020

Доброе утро, я пытаюсь выполнить mysql запрос в php, который приносит мне определенное количество данных и рисует их в виде данных, я уже пробовал запрос в Mysql, и это занимает 1: 35 с. Чтобы передать все данные, эта задержка вызвана тем, что это очень большой объем данных, вопрос в том, что при выполнении этого запроса в php он генерирует ошибку 500 (Внутренняя ошибка сервера), и я попытался с set_time_limit (0); чтобы увеличить время выполнения запроса php, но все равно он не работает, кто-либо знает или имел эту ошибку. мой код следующий

<?php
include("conexion_oracle.php");



$proceso = $_POST['proceso'];


 if ($proceso === "repor_actividad") {
    set_time_limit(0);
        $fech_ini = $_POST['fech_ini'];
         $fech_fin = $_POST['fech_fin'];

if ($fech_ini !== "" && $fech_fin !== "") {
      $filtro_fech = "AND EPIINAFEN BETWEEN TO_DATE('$fech_ini 00:01', 'YYYY-MM-DD HH24:MI') AND TO_DATE('$fech_fin 23:59', 'YYYY-MM-DD HH24:MI')";
 } else {
$filtro_fech = "AND EPIINAFEN BETWEEN TO_DATE('19000101 00:01', 'YYYY-MM-DD HH24:MI') AND TO_DATE('19000101 23:59', 'YYYY-MM-DD HH24:MI')";
    }
if ($proceso === "repor_actividad") {
    set_time_limit(0);
        $fech_ini = $_POST['fech_ini'];
         $fech_fin = $_POST['fech_fin'];

if ($fech_ini !== "" && $fech_fin !== "") {
      $filtro_fech = "AND EPIINAFEN BETWEEN TO_DATE('$fech_ini 00:01', 'YYYY-MM-DD HH24:MI') AND TO_DATE('$fech_fin 23:59', 'YYYY-MM-DD HH24:MI')";
 } else {
$filtro_fech = "AND EPIINAFEN BETWEEN TO_DATE('19000101 00:01', 'YYYY-MM-DD HH24:MI') AND TO_DATE('19000101 23:59', 'YYYY-MM-DD HH24:MI')";
    }
  $reporActivi = oci_parse($conn, "SELECT CIANOM AS SEDE,
    EPIINAHIS AS ID_UNICO,
    EPIINANUM AS INGRESO,
    EPIINATEP AS TIPO_DE_ATENCION,
    EPIINADDX AS DIAGNOSTICO
FROM HIEPIINA
INNER JOIN ABPAC ON EPIINAHIS = PACHIS
  $filtro_fech");

     oci_execute($reporActivi);
    $ex_datos = 0;
    while ($data = oci_fetch_array($reporActivi, OCI_ASSOC)) {
        $arreglo["data"][] = $data;
        $ex_datos = 1;
    }

    if ($ex_datos === 1) {

        echo json_encode($arreglo, true);
    } else {
        echo json_encode(array("data" => ""));
    }
    oci_free_statement($reporActivi);

, а мой js код следующий

 var table = $("#tb_activ_medic").DataTable({
        ajax: {
            method: "POST",
            url: "../../consultas_repor_jefatura.php",
            data: { "proceso": "repor_actividad", "fech_ini": fech_ini, "fech_fin": fech_fin },
        },
        dom: 'Blfrtip',
        lengthMenu: [
            [10, 25, 50, -1],
            [10, 25, 50, "Todo"]
        ],
        buttons: [
            'excel'
        ],
        order: [
            [0, "asc"]
        ],
        bDestroy: true,
        columns: [

            { data: "SEDE", title: "SEDE" },

            { data: "EMPRESA", title: "EMPRESA" },
            { data: "ACTIVIDAD_REALIZADA", title: "ACTIVIDAD REALIZADA" },
            { data: "FECHA_HORA_INICIO_ACTIVIDAD", title: "FECHA HORA INICIO ACTIVIDAD" },

        ],
        language: idioma
    });

...