Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/03/2019, 03:25
Avatar de aniMAYtions
aniMAYtions
 
Fecha de Ingreso: diciembre-2007
Ubicación: Granada
Mensajes: 519
Antigüedad: 16 años, 4 meses
Puntos: 2
Codeigniter + mysql

Hola amig@s,

Estoy usando el framework Codeigniter para programar y una base de datos mysql.
Hago una consulta de eliminación de datos con subconsulta y se tarda tantísimo que el final me da error timeout. Os copio un poco el código a ver si podéis darme alguna solución.
Código PHP:
 $arraytablas = array( "tabla1""tabla2""tabla3""tabla4""tabla5""tabla6");
for(
$i 0$i<count($arraytablas); $i++)
        {
            
            
$query "DELETE FROM " .$arraytablas[$i]. " where usuarioID not in (select usuarioID from tabla) and".$arraytablas[$i].".usuarioID != 0;";
            
$resultado $this->db->query($query);
            if (
$resultado)
                
$elmensaje .= "Se ha ejecutado el mantenimiento de la tabla " .$arraytablas[$i]. " satisfactoriamente...<br/><br/>";
            else
                
$elmensaje .= "No se ha podido realizar el mantenimiento de la tabla " .$arraytablas[$i]. " en estos momentos. Inténtalo de nuevo más tarde.<br/><br/>";
        }

        return 
$elmensaje
Luego recojo el resultado en el controlador y se lo paso a la vista.
Creo que el problema está en el delete porque un select de más de 2000 registros me lo hace rápido.

Alguna idea de esto?
Gracias!!