Estoy trabajando en algunos problemas de rendimiento de Oracle con nuestra aplicación web. Una cosa que he notado que parece ofuscar cualquier tipo de pruebas es que las consultas simples que arrojan muchos resultados siguen siendo muy lentas. Un ejemplo es:Oracle: ¿Por qué SELECT * FROM Foo; ¿muy lento?
select * from TPM_PROJECTWORKGROUPS;
Cuando corro, me sale:
5825 record(s) selected [Fetch MetaData: 0ms] [Fetch Data: 59s]
[Executed: 9/22/2011 1:52:38 PM] [Execution: 203ms]
Si entiendo esto correctamente, significa que la consulta real tomó 203ms para funcionar pero tomó 59 segundos para que los datos de ser devuelto al cliente, ¿eso es "Fetch" significa en este caso?
No tengo acceso para conectarme a la máquina de la base de datos directamente y ejecutar la consulta localmente, pero ¿es seguro asumir que el culpable es el ancho de banda de red real? Esto tiene sentido ya que estoy en Seattle y el servidor está en Nueva York, pero aún un minuto para 5800 filas parece ser bastante lento.
¿Hay algún consejo rápido para a) confirmar que el ancho de banda de la red es realmente el problema yb) cualquier "error" o cosas para verificar por qué serializar los datos a través del cable es tan lento? ¡Gracias!
algunas actualizaciones Basándose en los comentarios:
SELECT COUNT (*) de (seleccionar * de TPM_PROJECTWORKGROUPS) t;
Resultados:
1 record(s) selected [Fetch MetaData: 0ms] [Fetch Data: 0ms]
[Executed: 9/22/2011 2:16:08 PM] [Execution: 219ms]
Y si trato de seleccionar una sola columna:
SELECT projectId DE TPM_PROJECTWORKGROUPS;
Resultados:
5825 registro (s) seleccionado [Fetch metadatos: 0 ms] [Recuperar datos: 0s 1m]
[Ejecutado: 9/22/2011 02:17:20 PM] [Ejecución: 203ms] esquema
Tabla:
projectId (NÚMERO) WORKGROUPID (NÚMERO)
¿Estás seguro de que TPM_PROJECTWORKGROUPS es una tabla y no una vista? – MusiGenesis
¿Cuál es el tamaño de una fila? Cualquier CLOB/BLOB? – muratgu
Pruebe 'SELECT COUNT (*) FROM (seleccione * de TPM_PROJECTWORKGROUPS) t;' y vea si hay una gran diferencia –