El 21 de junio de 2012 17:06, Alejandro Carrillo <faster...@yahoo.es>escribió:
> 1) Crea un indice por cada campo que vayas a filtrar con frecuencia: > rbd,reg_cod,ano_pago, > ind_reli,rut_sost ; es decir no crees indices compuestos ya que estos > exigen que la consulta se haga por todos los campos. > > En realidad las tres consultas son ídenticas, sólo cambian en el where , ya que una es rbd in (..), la otra es rut_sost in(..) y la última reg_cod in (..). La primera trae pocos datos ya que normalmente se pregunta por uno o dos rbd, la segunta trae mas datos, ya que un rut_sost puede tener varios rbd y la última es la que mas datos trae, ya que un reg_cod tiene muchos rut_sost. ¿Debo crear índices distintos para cada una de las consultas? ¿Deben ser índividuales o compuestos? 2) Si la tabla tiene foráneas pertenecientes a otra tabla, estas deben tener índice No tiene llaves foráneas 3) No hagas un IN por un sólo valor, es más rápido usar = que IN Lo uso por comodidad, ya que normalmente debemos consultar por mas de un rbd o rut_sost o reg_cod 4) Me parece que esa tabla debe estar en su propio tablespace o en un tablespace para tablas grandes. -- Sergio Valdés H.