Ver Mensaje Individual
  #8  
Antiguo 29-03-2009
Cheerpipe Cheerpipe is offline
Miembro
 
Registrado: oct 2006
Posts: 46
Reputación: 0
Cheerpipe Va por buen camino
Como dicen en la primera respuesta, una consulta que no usa indices, es una consulta destinada a morir XD..


select DISTINCT E.AREA, SUM(IIF(P.ESTADO ='A',1,0)),
SUM(IIF(P.ESTADO ='P',1,0)) from ESTRUCTURA E LEFT JOIN COMPRAS P
ON E.EMPRESA =P.EMPRESA AND E.AREA = P.AREA AND E.SUBAREA = P.SUBAREA
WHERE E.empresa = 'emp1'
GROUP BY E.AREA


Los siguientes campos deberian estar presentes en algun indice: (EMPRESA, AREA, SUBAREA), idealmente los 3 en 1 mismo indice si aplica, y otros indices con cada campo individual.
Yo tengo sistemas con consultas tremendamentes mas complejas, en tablas con miles y miles de registros y ninguna se ejecuta en mas de medio segundo, todo gracias a un correcto uso de indices.
Yo que tu me daria un tiempo para buscar informacion sobre un buen uso de indices en una base de datos, ya que conocerlos es algo simplemente indispensable.

Por ultimo, tambien hay que evitar la creacion exesiva de indices o de indices que no son necesarios, ya que la contraparte de estos es que disminullen la velocidad de consultas DML.

Última edición por Cheerpipe fecha: 29-03-2009 a las 20:55:57.
Responder Con Cita