Mejorando el Acceso a tu Base de Datos SQL Server Eladio Rincón ([email protected]) Mentor y SQL...

14
Mejorando el Acceso a tu Base de Datos SQL Server Eladio Rincón ([email protected]) Mentor y SQL Server MVP Solid Quality Mentors DEV305

Transcript of Mejorando el Acceso a tu Base de Datos SQL Server Eladio Rincón ([email protected]) Mentor y SQL...

Page 1: Mejorando el Acceso a tu Base de Datos SQL Server Eladio Rincón (eladio@solidq.com) Mentor y SQL Server MVP Solid Quality Mentors DEV305.

Mejorando el Acceso a tu Base de Datos SQL Server

Eladio Rincón ([email protected])Mentor y SQL Server MVP

Solid Quality Mentors

DEV305

Page 2: Mejorando el Acceso a tu Base de Datos SQL Server Eladio Rincón (eladio@solidq.com) Mentor y SQL Server MVP Solid Quality Mentors DEV305.

Solid Quality MentorsAyudamos a obtener lo mejor de su sistema SQL ServerMentoring, formación y consultoría en proyectos:

tradicionalmente de Bases de Datosde Inteligencia de Negociode Arquitecturas de Sistemasde Colaboración (MOSS, Enterprise Search)

http://www.solidq.comhttp://blogs.solidq.com [email protected]

Page 3: Mejorando el Acceso a tu Base de Datos SQL Server Eladio Rincón (eladio@solidq.com) Mentor y SQL Server MVP Solid Quality Mentors DEV305.

Mejorando el Acceso a tu SQL Server… O ¿qué Puedes Hacer como Desarrollador?

AgendaHerramientas (introducción)¿Miedo a .NET dentro de SQL Server?¿Usamos objetos programables?

¿Vistas? ¿UDFs?

Procedimientos Almacenados¿por qué sí?

Tratemos de entender como funciona cada cosa

Page 4: Mejorando el Acceso a tu Base de Datos SQL Server Eladio Rincón (eladio@solidq.com) Mentor y SQL Server MVP Solid Quality Mentors DEV305.

Mejorando el Acceso a tu SQL Server Herramientas a Utilizar

SQL Server Management StudioAnálisis de consultas con pequeños cambios

SQL ProfilerTraza por defecto con pequeños cambios

Veámoslo rápido…

Page 5: Mejorando el Acceso a tu Base de Datos SQL Server Eladio Rincón (eladio@solidq.com) Mentor y SQL Server MVP Solid Quality Mentors DEV305.

Mejorando el Acceso a tu SQL Server¿Miedo a .NET dentro del Servidor?

¿No es seguro? SAFE, EXTERNAL_ACCESS, UNSAFE Usa la sentencia GRANT para asignar permisosGranularidad a nivel de objeto que usa el assembly

¡Entiende cuando es más eficiente!Cuando usarlo

Cálculos complejos; i.e.: funciones de agregadoReferencias a librerías .NET

Cuando no usarloAcceso a datos

Page 6: Mejorando el Acceso a tu Base de Datos SQL Server Eladio Rincón (eladio@solidq.com) Mentor y SQL Server MVP Solid Quality Mentors DEV305.

Mejorando el Acceso a tu SQL Server¿Miedo a .NET dentro del Servidor?

DemoFunciones de AgregadoExpresiones Regulares en SQL Server

"La simplicidad llevada al extremo se convierte en elegancia"

Jon Franklin

Page 7: Mejorando el Acceso a tu Base de Datos SQL Server Eladio Rincón (eladio@solidq.com) Mentor y SQL Server MVP Solid Quality Mentors DEV305.

Mejorando el Acceso a tu SQL ServerObjetos Programables

Vistas¿Para qué usarlas?

SimplificaciónAcceso más “fácil” (leer, modificar, borrar)Gestión de permisos

Alternativa a estructuras físicas existentesVistas indexadasVistas particionadas

¿Qué debes evitar?Generalización de vistas“Cruzar” objetos no necesarios

Page 8: Mejorando el Acceso a tu Base de Datos SQL Server Eladio Rincón (eladio@solidq.com) Mentor y SQL Server MVP Solid Quality Mentors DEV305.

Mejorando el acceso a tu SQL Server¿Objetos Programables?

DemoVistas de vistas de vistas…

"Hazlo todo tan simple como sea posible, pero no más simple"

Albert Einstein

Page 9: Mejorando el Acceso a tu Base de Datos SQL Server Eladio Rincón (eladio@solidq.com) Mentor y SQL Server MVP Solid Quality Mentors DEV305.

Mejorando el Acceso a tu SQL ServerObjetos Programables

Funciones Definidas de Usuario; usado para:Simplificación y generalización de código existente

Tipo1: Escalares“Resolución de constantes”Convertir un caso de uso en procedural

Tipo2 y Tipo3: de Resultado de TablasSimular “vistas parametrizadas”JOINs con Tablas o UDFs (sentencia APPLY)

¿Qué debes evitar?Puede llegar a funcionar como un cursor

Page 10: Mejorando el Acceso a tu Base de Datos SQL Server Eladio Rincón (eladio@solidq.com) Mentor y SQL Server MVP Solid Quality Mentors DEV305.

Mejorando el acceso a tu SQL Server¿Objetos Programables?

DemoFunciones Definidas de Usuario

"Hazlo todo tan simple como sea posible, pero no más simple"

Albert Einstein

Page 11: Mejorando el Acceso a tu Base de Datos SQL Server Eladio Rincón (eladio@solidq.com) Mentor y SQL Server MVP Solid Quality Mentors DEV305.

Mejorando el Acceso a tu SQL ServerProcedimientos Almacenados ¿Por qué sí?

SeguridadGestión basada a nivel de SP (no por objeto base)

Encapsulación: Punto único de entrada poco acoplamiento, alta cohesión

RendimientoVs. consultas ad-hoc

Parsing, validaciones, seguridad, exec plan, …Vs. consultas preparadas

Gestión de redLos SPs son más cuidadosos con la memoria

Monitoriza la gestión del buffer pool

Mantenimiento: unidad centralizada para:Mejorar proceso, optimización, gestión de bugs, …

AdsfadsfadsfAdsfadsfasdf

Page 12: Mejorando el Acceso a tu Base de Datos SQL Server Eladio Rincón (eladio@solidq.com) Mentor y SQL Server MVP Solid Quality Mentors DEV305.

Mejorando el acceso a tu SQL Server Procedimientos Almacenados ¿Por qué sí?

DemoProcedimientos Almacenados vs

Consultas ad-hoc“Cuando una persona desea realmente algo, el Universo entero conspira para que pueda realizar su sueño“

Paulo Coelho

Page 13: Mejorando el Acceso a tu Base de Datos SQL Server Eladio Rincón (eladio@solidq.com) Mentor y SQL Server MVP Solid Quality Mentors DEV305.

Mejorando el Acceso a tu SQL Server

ResumenHerramientas: SQL Profiler, SSMSFuera complejos con .NETUsa los objetos programables correctamenteProcedimientos almacenados, … SI!!!

… ¡entiende cómo funciona la tecnología para usarla eficientemente!