Framworks de Microsoft, IDEs y Motores de Bases de datos

Framworks de Microsoft, IDEs y Motores de Bases de datos

Hola Amigos aqui os dejo unos enlaces para que os podais descargar Framworks,Motor de bases de datos y IDEs de micrososft.

Los enlaces los iré actualizando segun vaya teniendo tiempo.

 

Frameworks :

Framework 1.1

Framework 2.0

Frmaework 3.0

Framework 3.5 SP1

 

SQL SERVER :

SQL SERVER 2008 R2 Express with advance services x86

SQL SERVER 2012 Express with advance services

SQL SERVER 2014 Express with advance services

Visual Studio

 

 

Espero que os sirvan

 

 

SQL SEVER WITH FORCESEEK

SQL SEVER WITH FORCESEEK

Un metodo para optimizar consultas de SQL SERVER en tablas relacionadas es utilizar esta clausula.

¿Que es lo que hace?, veamoslo en un ejemplo.
Tenemos nuestra tabla de clientes con nuestra clave primaria que es idcliente y por otro lado tenemos la tabla personas de contacto con ForeingKey de IDCliente.

Pues bien si ejecutaramos la consulta tal cual ;


Sql Prioriza la busqueda sobre la tabla de cliente y luego la relación con PerContacto sacando solo las coincidencias por idcliente. pues bien. Marcando ForceSeek , forzamos a SQL a que no empieze por la tabla cliente si no por la tabla PerContacto, el ejemplo quedaria de la siguiente forma:

Un dato a tener en cuenta es que al marcar ForceSeek la union entre tablas debe estar realizada por la PrimaryKey -> ForeingKey si no , no nos dejara ejecutarla.

Para que esto sea mas efectivo debemos utilizar un where sobre la tabla marcada con forceseek y con ello veremos que el tiempo de ejecución de SQL sobre esa consulta se vera reducido, el cambio no es muy significativo en tablas con pocos registros.

Si quieres saber como optimizar mas tus consultas consulta tambien este otro articulo WITH(NOLOCK)



SQL with(nolock) como y porqué

El tiempo de que tarda en ejecutar una cosulta y devolverla a nuestro programa a veces puede ser una tarea ardua, con tiempos de espera bastante elevados, dependiendo de los casos muchas veces nos encotramos que una consulta aparentemente sencilla se nos demora más de 5 sergundos. si tomamos este tiempo como referencia, en consultar un dato , la experiencia para el usuario es mala, por que el sistema es lento.

Para poder solventar parte del problema podemos utilizar la clausula with(nolock) dentro de nuestras consultas y o vistas de SQL, como lo hacemos?.

Pues muy sencillo , lo unico que debemos hacer es añadir la clausula al final de cada tabla como en el ejemplo:



Si tuvieramos varias tablas quedaría así:

 

 

¿Qué debemos tener en cuenta si utlizamos esto?

Lo que debemos saber es esta cláusula no bloquea la tabla ni los datos para ejecutar la consulta, esto a veces puede darnos problema en la integridad de la consulta si hay datos que se están sobreescribiendo continuamente.

¿Dónde lo situo?

Pues bien, si sabemos que no bloquea la tabla y que los datos pueden estar siendo escritos en ese momento, debemos situar el with(nolock) en las tablas maestras, y no en las relacionadas que puedan ser sobreescritas continuamente, ya que las tablas maestras es poco frecuente que se sobreescriban datos.

Para saber si esto nos resulta de ayuda os recomiendo utilizar el SQL PROFILER como guia para ver los tiempos de ejecución