Tengo una buena comprensión principiante / intermedia del servidor SQL y T-SQL. Pero sé que hay mucho más debajo del capó. ¿Qué puedo aprender a continuación?

Felicitaciones por querer profundizar más. Lo que recomendaría cambiará según la dirección que desee ir. Por ejemplo, ¿está más interesado en los roles de tipo DBA o SQL Developer o algún otro rol? Estaré encantado de responder con más información y recursos dependiendo de su respuesta.

En general, recomendaría aprender a leer los planes de ejecución. Has escuchado a otros mencionar EXPLICAR. Bueno, un plan de ejecución es el equivalente de SQL Server. También recomendaría estudiar indexación. Específicamente, qué hace un buen índice y cómo y cuándo se usan. Comprender el nivel de aislamiento también puede ser muy útil. Le dará una mejor comprensión de los problemas de bloqueo y punto muerto. El almacenamiento en caché es otra área. Hay varios tipos de caché en SQL Server. El paralelismo es otra área a considerar. Cuándo y por qué las consultas van paralelas puede tener un gran impacto en el rendimiento.

SQL Server es un producto grande con muchas oportunidades para inmersiones profundas. Pero mucho de lo que se sumerge debe elegirse en función de sus objetivos.

¡Para muchos propósitos, un alcance intermedio es todo lo que necesita! Si desea escribir cosas de alto rendimiento, puede ver si los almacenes de valores clave como lmdb o los almacenes de columnas se ajustan mejor a su propósito (pueden superar las implementaciones de SQL de propósito general para las tareas para las que están diseñadas). Y si sql es la tecnología correcta, puede usar el comando EXPLAIN para averiguar qué operaciones involucra una consulta e identificar las operaciones lentas. Existen múltiples tipos de combinaciones, claves e índices, y si conoce sus definiciones y ventajas, puede usar EXPLAIN para averiguar cuándo su motor SQL está haciendo lo incorrecto.

Lejos de tener amigos que trabajan en Microsoft, lea libros de Kalen Delaney

Amazon.com: Kalen Delaney: Libros, Biografía, Blog, Audiolibros, Kindle

Una de las habilidades absolutamente más útiles que puede obtener es poder diagnosticar el problema cuando tiene un bajo rendimiento en una base de datos SQL. Mucha gente no sabe cómo corregir el bajo rendimiento de una manera simple, ni siquiera sabe cómo investigar.

El problema más frecuente es que quien diseñó la tabla y las consultas se equivocaron, pero al principio con volúmenes de transacción bajos, el problema no era visible. Más tarde, con grandes volúmenes, el mal diseño golpea duro. Es muy raro que “SQL esté haciendo algo mal”.

Si tiene una habilidad real para diagnosticar y solucionar problemas en bases de datos relacionales, puede ganar mucho dinero como solucionador de problemas independiente.