Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

265
Views
¿Puede afectar el rendimiento de la base de datos establecer un valor más alto del tamaño de recuperación de JDBC?

Tenemos una consulta de selección simple con una sola columna en la cláusula SELECT. Sin condición de cláusula WHERE (porque la aplicación lo exige). La consulta obtiene alrededor de 5000000 filas a la vez. Los DBA a veces ven una mayor carga en la base de datos (Oracle 12c) y han identificado esta consulta de selección como la causa detrás de la carga de la base de datos. El índice se ha creado correctamente en esta única columna. La consulta devuelve resultados en poco tiempo.

Mi aplicación Java (Java 8) establece el tamaño de recuperación (org.hibernate.fetchSize) en 5000. Es para mejorar el rendimiento de la consulta. Mi servidor de aplicaciones Java tiene una buena configuración de memoria, por lo que no vemos ningún problema en el lado del servidor de aplicaciones.

Me pregunto si establecer un tamaño de búsqueda más alto en el lado de la aplicación cargaría la base de datos de alguna manera. Estamos planeando reducir el tamaño de búsqueda en el lado de la aplicación y monitorear el rendimiento de la base de datos, pero pensé en consultar con todos ustedes primero.

Me referí a este documento técnico de administración de memoria de Oracle, pero no tiene nada útil relacionado con la carga de base de datos: https://www.oracle.com/technetwork/database/enterprise-edition/memory.pdf

Por favor, hágame saber sus pensamientos.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Es casi seguro que establecer el tamaño de búsqueda de JDBC más alto no causará problemas de rendimiento de la base de datos. Antes de considerar reducir el valor, debe pedirle a su DBA que aclare exactamente cómo su consulta está causando la carga de la base de datos.

Oracle no experimenta problemas de tamaño del conjunto de resultados de la misma manera que una aplicación. Si bien una aplicación puede quedarse sin memoria para almacenar un millón de filas en la memoria, la mayoría de los sistemas Oracle pueden manejar fácilmente esa cantidad de datos porque los resultados intermedios grandes se escriben en el disco en el espacio de tabla temporal. Y aunque ocasionalmente hay problemas temporales de espacio de tabla, esos problemas ocurren en función del tamaño de los resultados intermedios, no del tamaño de los resultados obtenidos por lote.

Pídale a su DBA más información sobre la consulta y tal vez algún ajuste de consulta. ¿Qué tipo de problemas está causando la consulta, qué espera la base de datos para la consulta, cuál es el plan de ejecución/informe de SQL Monitor, etc. Obtener 5,000,000 de filas a la vez para una aplicación es un poco inusual y es posible que deba ajustar algunos de tus expectativas. Por ejemplo, es muy probable que no desee utilizar un índice para una consulta que devuelve 5 millones de filas, ya que los análisis completos de tablas son más eficaces para recuperar una gran parte de una tabla.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!