Cómo descifrar la entrevista del desarrollador SQL

Si usted es un desarrollador que crea aplicaciones web, un DBA o un probador que participa en las pruebas web, las habilidades de SQL son importantes tanto en la programación como en la validación de la base de datos. Por lo tanto, asumimos otro desafío para formular preguntas de entrevista de rendimiento de SQL .

El ajuste del rendimiento de SQL es una tarea difícil y clave para manejar la carga cada vez mayor en una aplicación web. Por lo tanto, el entrevistador seguramente lo buscará y verificará qué tan bien conoce el tema.

Por lo tanto, seleccionamos selectivamente las preguntas de la entrevista de ajuste de rendimiento de SQL que podrían brindarle una cobertura adecuada del concepto de ajuste de rendimiento de SQL. Además, recientemente publicamos un conjunto de preguntas de entrevistas SQL sobre consultas complejas . Revísalo también para prepararte completamente para tu entrevista SQL.

Q: -1. ¿Qué es la optimización de consultas SQL?

Resp. La optimización de consultas es el proceso de escribir la consulta de manera que pueda ejecutarse rápidamente. Es un paso significativo para cualquier aplicación estándar.

Q: -2. ¿Cuáles son algunos consejos para mejorar el rendimiento de las consultas SQL?

Resp. La optimización de las consultas SQL puede tener un impacto positivo sustancial en el rendimiento. También depende del nivel de conocimiento de RDBMS que tenga. Veamos ahora algunos de los consejos para ajustar las consultas SQL.

1. Prefiere utilizar vistas y procedimientos almacenados a pesar de escribir largas consultas. También ayudará a minimizar la carga de la red.

2. Es mejor introducir restricciones en lugar de disparadores. Son más eficientes que los disparadores y pueden aumentar el rendimiento.

3. Utilice variables de nivel de tabla en lugar de tablas temporales.

4. La cláusula UNION ALL responde más rápido que UNION. No busca filas duplicadas, mientras que la declaración UNION lo hace independientemente de si existen o no.

5. Evite el uso de cláusulas DISTINCT y HAVING.

6. Evite el uso excesivo de cursores SQL.

7. Utilice la cláusula SET NOCOUNT ON mientras desarrolla los procedimientos almacenados. Representa las filas afectadas por una declaración T-SQL. Conduciría a un tráfico de red reducido.

8. Es una buena práctica devolver la columna requerida en lugar de todas las columnas de una tabla.

9. Prefiere no utilizar combinaciones complejas y evitar el uso desproporcionado de desencadenantes.

10. Cree índices para tablas y cumpla con los estándares.

P: -3. ¿Cuáles son los cuellos de botella que afectan el rendimiento de una base de datos?

Resp. En una aplicación web, el nivel de la base de datos puede ser un cuello de botella crítico para lograr la última milla de escalabilidad. Si una base de datos tiene pérdidas de rendimiento, eso puede convertirse en un cuello de botella y es probable que cause el problema. Algunos de los problemas de rendimiento comunes son los siguientes.

1. El uso anormal de la CPU es el cuello de botella de rendimiento más obvio. Sin embargo, puede solucionarlo extendiendo las unidades de CPU o reemplazándolas por una CPU avanzada. Puede parecer un problema simple, pero el uso anormal de la CPU puede generar otros problemas.

2. La poca memoria es el siguiente cuello de botella más común. Si el servidor no puede administrar la carga máxima, entonces plantea un gran signo de interrogación sobre el rendimiento. Para cualquier aplicación, la memoria es muy crítica de realizar, ya que es mucho más rápida que la memoria persistente. Además, cuando la RAM baja a un umbral específico, el sistema operativo utiliza la memoria de intercambio. Pero hace que la aplicación se ejecute muy lentamente.

Puede resolverlo expandiendo la RAM física, pero no resolverá las pérdidas de memoria si hay alguna. En tal caso, debe perfilar la aplicación para identificar las posibles fugas dentro de su código.

3. Demasiada dependencia del almacenamiento externo como el disco SATA también podría ser un cuello de botella. Su impacto se hace visible al escribir datos grandes en el disco. Si las operaciones de salida son muy lentas, es una clara indicación de que un problema se está convirtiendo en el cuello de botella.

En tales casos, debe hacer escala. Reemplace la unidad existente por una más rápida. Intente actualizar a un disco duro SSD o algo similar.

Q: -4. ¿Cuáles son los pasos necesarios para mejorar el rendimiento de SQL?

Resp.

Descubra: en primer lugar, descubra las áreas de mejora. Explore herramientas como Profiler, planes de ejecución de consultas, asesor de ajuste SQL, vistas dinámicas y procedimientos almacenados personalizados.

Revisión: haga una lluvia de ideas sobre los datos disponibles para aislar los problemas principales.

Proponer: aquí hay un enfoque estándar que uno puede adaptar para aumentar el rendimiento. Sin embargo, puede personalizarlo aún más para maximizar los beneficios.

1. Identificar campos y crear índices.
2. Modifique consultas grandes para utilizar los índices creados.
3. Actualice la tabla y las vistas y actualice las estadísticas.
4. Restablezca los índices existentes y elimine los no utilizados.
5. Busque bloques muertos y retírelos.

Validar: pruebe el enfoque de ajuste del rendimiento de SQL. Monitoree el progreso a intervalos regulares. Además, realice un seguimiento si hay algún impacto adverso en otras partes de la aplicación.

Publicar: ahora es el momento de compartir la solución de trabajo con todos los miembros del equipo. Hágales saber todas las mejores prácticas para que puedan usarlo con facilidad.

P: -5. ¿Qué es un plan de explicación?

Resp. Es un término usado en Oracle. Y es un tipo de cláusula SQL en Oracle que muestra el plan de ejecución que su optimizador planea para ejecutar las instrucciones SELECT / UPDATE / INSERT / DELETE.

Q: -6. ¿Cómo se analiza un plan de explicación?

Resp. Mientras analiza el plan de explicación, verifique las siguientes áreas.

1. Mesa de conducción
2. Orden de unión
3. Método de unión
4. Producto cartesiano no intencional
5. Bucles anidados, fusión, clasificación y hash join
6. Escaneo completo de tablas
7. Índices no utilizados
8. Vías de acceso

P: -7. ¿Cómo se ajusta una consulta usando el plan de explicación?

Resp. El plan de explicación muestra una salida completa de los costos de la consulta, incluida cada subconsulta. El costo es directamente proporcional al tiempo de ejecución de la consulta. El plan también muestra el problema en consultas o subconsultas al obtener datos de la consulta.

P: -8. ¿Qué es el Asesor de resumen y qué tipo de información proporciona?

Resp. El asesor de resumen es una herramienta para filtrar y materializar las vistas. Puede ayudar a elevar el rendimiento de SQL seleccionando el conjunto adecuado de vistas materializadas para una carga de trabajo determinada. Y también proporciona datos sobre las recomendaciones de la vista Materializada.

P: -9. ¿Qué podría hacer que una consulta SQL se ejecute tan lento como 5 minutos?

Resp. Lo más probable es que un aumento repentino en el volumen de datos en una tabla en particular podría ralentizar el resultado de una consulta SQL. Por lo tanto, recopile las estadísticas necesarias para la tabla de destino. Además, supervise cualquier cambio en el nivel de base de datos o dentro del nivel de objeto subyacente.

Q: -10. ¿Qué es un evento gratuito de Latch? ¿Y cuándo ocurre? Alos, ¿cómo lo maneja el sistema?

Resp. En Oracle, el evento de espera Latch Free ocurre cuando una sesión requiere un pestillo, intenta obtenerlo pero falla porque alguien más lo tiene.

Por lo tanto, duerme esperando que el pestillo se libere, se despierta e intenta nuevamente. El tiempo de inactividad fue el tiempo de espera para Latch Free. Además, no hay una cola ordenada para los camareros en un pestillo, por lo que el que viene primero la obtiene.

P: -11. ¿Qué es el ajuste proactivo y el ajuste reactivo?

Resp.

Ajuste proactivo: el arquitecto o el DBA determina qué combinación de recursos del sistema y características de Oracle disponibles cumplen los criterios durante el Diseño y el Desarrollo.

Ajuste reactivo: es el enfoque ascendente para descubrir y eliminar los cuellos de botella. El objetivo es hacer que Oracle responda más rápido.

P: -12. ¿Qué son el Optimizador basado en reglas y el Optimizador basado en costos?

Resp. Oracle determina cómo obtener los datos necesarios para procesar una declaración SQL válida. Utiliza uno de los siguientes dos métodos para tomar esta decisión.

Optimizador basado en reglas: cuando un servidor no tiene estadísticas internas que admitan los objetos a los que hace referencia la declaración, el método RBO obtiene preferencia. Sin embargo, Oracle desaprobará este método en futuras versiones.

Optimizador basado en costos: cuando abundan las estadísticas internas, la CBO tiene prioridad. Verifica varios planes de ejecución posibles y elige el que tenga el costo más bajo en función de los recursos del sistema.

P: -13. ¿Cuáles son varias mejoras de ajuste de rendimiento de SQL en Oracle?

Resp. Oracle ofrece muchas mejoras de rendimiento, algunas de ellas son:

1. Funciones automáticas de diagnóstico y ajuste del rendimiento
2. Administración automática de memoria compartida: le da a Oracle el control de asignación de memoria dentro del SGA.
3. Mejoras en el modelo de espera: han surgido varias vistas para impulsar el modelo de espera.
4. Recopilación automática de estadísticas del optimizador: recopila estadísticas del optimizador mediante un trabajo programado llamado GATHER_STATS_JOB.
5. Muestreo dinámico: permite al servidor mejorar el rendimiento.
6. Costeo de la CPU: es el modelo de costo básico para el optimizador (CPU + I / O), con la unidad de costo como lo notifica el optimizador de tiempo.
7. Obsolescencia del optimizador basado en reglas: ya no se utiliza.
8. Mejoras de seguimiento: seguimiento de extremo a extremo que permite identificar un proceso de cliente a través del identificador de cliente en lugar de utilizar la ID de sesión típica.

Q: -14. ¿Cuáles son los indicadores de ajuste que propone Oracle?

Resp. Los siguientes indicadores de ajuste de alto nivel están disponibles para establecer si una base de datos está experimentando cuellos de botella o no:

1. Buffer Cache Hit Ratio.

Utiliza la siguiente fórmula.

Hit Ratio = (Lecturas lógicas – Lecturas físicas) / Lecturas lógicas

Acción: avance el DB_CACHE_SIZE (DB_BLOCK_BUFFERS antes del 9i) para mejorar la proporción de aciertos.

2. Proporción de aciertos de caché de biblioteca.

Acción: avance SHARED_POOL_SIZE para aumentar la proporción de aciertos.

Q: -15. ¿Qué verifica primero si hay varios fragmentos en el espacio de tabla SYSTEM?

Resp. En primer lugar, compruebe si los usuarios no tienen el espacio de tabla SYSTEM como su asignación de espacio de tabla TEMPORARY o DEFAULT verificando la vista DBA_USERS.

Hola,

Puede comenzar a prepararse para la entrevista con esta aplicación de Android:

SQL Interview Question Answers – Aplicaciones de Android en Google Play

Esta aplicación tiene un gran contenido y es muy útil y puede ver las más de 100 preguntas sin conexión a Internet.

Espero que esto ayude !

More Interesting

¿Preguntas hechas en una entrevista de bpo?

¿Cuáles son las preguntas extrañas que se hacen en una entrevista en el campus?

¿De qué cosas debe ocuparse un estudiante más fresco mientras va a una entrevista y también cuando se sienta frente al entrevistador?

¿Cómo es la entrevista en Nuance?

¿Cómo respondo la pregunta, "¿Por qué quieres unirte a un banco después de hacer una licenciatura con matemáticas?" en una entrevista SBI PO?

Estoy apareciendo para la entrevista de SAP fico en TCS. ¿Cuáles podrían ser las preguntas?

Soy el candidato final para un puesto directivo en una empresa de tecnología SV, pero todavía quieren entrevistar a otras personas. ¿Cómo los convenzo de que me ofrezcan el trabajo?

¿Qué debo hacer después de ser rechazado por una empresa en la que realmente quería trabajar, porque hablaba mejor inglés que el entrevistador?

¿Qué debería yo, como empleador, preguntarle a un representante de ventas potencial cuando entreviste?

¿Cómo es la entrevista en DE Shaw Research?

¿Cuáles son algunas preguntas de la entrevista de trabajo limitada del software de Oracle Financial Services?

Cómo prepararse para una entrevista de SharePoint

¿Hay algún tema de juegos relacionado con 'Entrevista de trabajo'?

¿Cuál es la mejor manera de prepararse para una entrevista de recursos humanos?

Durante una entrevista de trabajo, me preguntaron: "¿Cuántos pingüinos se necesitan para rodear el polo norte?" ¿Cuál sería una buena respuesta / reacción?