Entradas

Mostrando las entradas etiquetadas como Script SQL

¿Qué debo de hacer en caso de tener consultas en SQL Server que son lentas?

Imagen
El post del día de hoy está enfocado a SQL Server y se deriva de una pregunta que hizo un desarrollador el día de hoy, ¿Qué debo hacer con las consultas SQL Server lentas?, con ello a continuación menciono unos tips que podemos hacer cuando tengamos lentitud en consultas SQL Server:  Comprobar la existencia de los índices correctos.  Para esté caso es de suma importancia hacer la verificación de cuales son los índices que tiene la tabla o tablas involucradas, y debemos tomar en cuenta hacer los joins y/o especificar clausula where de acuerdo a estos índices para buscar la optimización de la misma, en caso de no tener índices hay que considerar si es necesario crearlos para mejorar el rendimiento.   Revisar la existencia de subconsultas incorrectas. Es de gran importancia revisar las subconsultas, si es que tenemos en nuestras consultas. Ya que por lo regular los subquerys tienen costos más altos, así también en ocasiones en mejor realizar múltiples consultas y guardarlas en tablas temp

Orden de procesamiento lógico de la instrucción SELECT.

Hace días tuve la oportunidad de estar en un curso de Arquitectura de Software, en donde el arquitecto tomo un tema muy interesante el orden de procesamiento lógico de las instrucciones, dado esto me causo mucho interés por el hecho que desde aquí comienza el buen rendimiento de una consulta.  A continuación se muestra el orden de procesamiento lógico, para la instrucción SELECT. Esté orden determina cuando se ponen a disposición de los objetos definidos en un solo paso a las clausulas en las etapas subsiguientes. Al ejecutar una consulta el orden de ejecución es:  1. FROM  2. ON 3. JOIN  4. WHERE 5. GROUP BY  6. WITH CUBE or WITH ROLLUP 7. HAVING 8. SELECT  9. DISTINCT  10. ORDER BY  11. TOP

Comprobar que un procedimiento almacenado existe y borrarlo.

Con el siguiente script se puede validar si un procedimiento almacenado existe en una base de datos de SQL Server 2008, en caso de existir es borrado.  Sintaxis:  IF EXISTS ( SELECT * FROM sys.objects WHERE object_id = OBJECT_ID (N ' [MyStoredProc]' ) AND type in (N ' P' , N ' PC' )) DROP PROCEDURE [MyStoredProc] GO CREATE PROCEDURE [MyStoredProc] ... --

Crear funcione en SQL Server devolviendo tabla.

Imagen
Crear funcion en SQL Server para devolver una tabla

Asignar y obtener datos de RitchTextbox y almacenarlo en base de datos Microsoft SQL Server, obtener de base de datos y obtener en RitchTextbox nuevamente en VarBinary con WPF y SQL Server.

Imagen
Asignar y obtener datos de RitchTextbox y almacenarlo en base de datos Microsoft SQL Server, obtener de base de datos y obtener en RitchTextbox nuevamente en VarBinary con WPF y SQL Server.

Clausula INTO (creacion de tabla con registros a partir de select).

El día de hoy respondiendo la pregunta de @erickNungaray, es posible crear una tabla física e insertar datos en ella en una sola instrucción a partir de otra tabla (o varias tablas) con la siguiente sintaxis:  SELECT CAMPOSNUEVATABLA into NombreNuevaTabla FROM TABLA WHERE CONDICIONES; Esto quiere decir, que es posible generar una tabla a partir de una consulta que nosotros realicemos, por lo que al hacer esto se generara unos campos a partir de los campos que consultamos al mismo tiempo está tabla tendrá todos los registros obtenidos en la consulta.  Esto puede ser aplicado a tablas temporales únicamente con la siguiente sintaxis:  SELECT CAMPOSNUEVATABLA into #NombreNuevaTablaTemporal FROM TABLA WHERE CONDICIONES; Espero con esto se solucione tu duda.  Para mayor información pueden consultar la clausula INTO en msdn , o en el siguiente enlace:  https://msdn.microsoft.com/es-es/library/ms177563(v=sql.120).aspx