2011-03-22 12 views

Respuesta

3

EXPLIQUE funciona sólo sobre las instrucciones SELECT, excepto cuando se utiliza EXPLICAR nombre de tabla que es un alias de DESCRIBIR nombretabla

9

en la actualidad no se puede explicar los procedimientos almacenados en MySQL - pero que podría ser algo como esto:

drop procedure if exists get_user; 
delimiter # 
create procedure get_user 
(
in p_user_id int unsigned, 
in p_explain tinyint unsigned 
) 
begin 
    if (p_explain) then 
    explain select * from users where user_id = p_user_id; 
    end if; 
    select * from users where user_id = p_user_id; 
end# 

delimiter ; 

call get_user(1,1); 
16

Usted puede intentar

set profiling=1; 
call proc_name(); 
show profiles; 
+1

que no revele el plan de ejecución, pero sí muestra la duración de cada consulta en el procedimiento se llevó. – Brandon

Cuestiones relacionadas