Query MySql muy lenta
Publicado por cristopher (1 intervención) el 09/02/2013 00:07:21
Estoy trabajando con ADO PHP, y esta consulta se demora como 10 segundos...
es muy raro. cada vez que uso consultas con sobre 3 inner joins, tardan demasiado.
qué podrá ser?. Existe alguna forma de Contar los registros de una consulta sin usar COUNT, es decir, con alguna función nativa de php?.
$Sqlcontar = "SELECT COUNT(DISTINCT(tbl_aviso.aviso_id)) as re FROM tbl_aviso";
if($region != '0'){
$Sqlcontar .= " INNER JOIN tbl_region on tbl_aviso.reg_id = $region";
}
if($area_trabajo != '0'){
$Sqlcontar .= " INNER JOIN tbl_area_trabajo ON tbl_aviso.area_trabajo_id = $area_trabajo";
}
if($cargo != '0'){
$Sqlcontar .= " INNER JOIN tbl_cargo on tbl_aviso.car_id = $cargo";
}
if($jornada != '0'){
$Sqlcontar .= " INNER JOIN tbl_jornada on tbl_aviso.jornada_id = $jornada ";
}
if($rubro != '0'){
$Sqlcontar .= " INNER JOIN tbl_rubro on tbl_aviso.rub_id = $rubro";
}
$Sqlcontar .= " WHERE tbl_aviso.pla_id = 2 ";
if($palabraclave != '0'){
$Sqlcontar .= " AND tbl_aviso.aviso_titulo LIKE '%$palabraclave%'";
}
$oBD->query($conn, $RScontar, $Sqlcontar);
es muy raro. cada vez que uso consultas con sobre 3 inner joins, tardan demasiado.
qué podrá ser?. Existe alguna forma de Contar los registros de una consulta sin usar COUNT, es decir, con alguna función nativa de php?.
$Sqlcontar = "SELECT COUNT(DISTINCT(tbl_aviso.aviso_id)) as re FROM tbl_aviso";
if($region != '0'){
$Sqlcontar .= " INNER JOIN tbl_region on tbl_aviso.reg_id = $region";
}
if($area_trabajo != '0'){
$Sqlcontar .= " INNER JOIN tbl_area_trabajo ON tbl_aviso.area_trabajo_id = $area_trabajo";
}
if($cargo != '0'){
$Sqlcontar .= " INNER JOIN tbl_cargo on tbl_aviso.car_id = $cargo";
}
if($jornada != '0'){
$Sqlcontar .= " INNER JOIN tbl_jornada on tbl_aviso.jornada_id = $jornada ";
}
if($rubro != '0'){
$Sqlcontar .= " INNER JOIN tbl_rubro on tbl_aviso.rub_id = $rubro";
}
$Sqlcontar .= " WHERE tbl_aviso.pla_id = 2 ";
if($palabraclave != '0'){
$Sqlcontar .= " AND tbl_aviso.aviso_titulo LIKE '%$palabraclave%'";
}
$oBD->query($conn, $RScontar, $Sqlcontar);
Valora esta pregunta


0