1 0 Tag Archives: Optimizacion
post icon

Diferencias entre Indices Clustered y Non-Clustered en SQL Server

Si bien este es un tema que todo DBA debe conocer obligatoriamente para poder realizar el tunning de su base de datos quiero usarlo para explicar algunos conceptos básico para los siguientes artículos que estoy preparando sobre optimización del rendimiento de los querys SQL y comprensión de los planes de ejecución.

Lo que veremos aplica a las versiones 2005 y 2008 de SQL Server, aunque una gran parte también para la versión 2000. De hecho que varios de los conceptos también aplica a otros motores del mercado, unos con menos y otros con más opciones de tunning. (Continuar Leyendo sobre Diferencias entre Indices Clustered y Non-Clustered en SQL Server)

post icon

Cual es la diferencia entre un Unique Index y Unique Constraint

Tanto desarrolladores como DBA’s  en algún momento nos llegamos a preguntar cual es la diferencia entre el Unique Constraint y el Unique Index, en gran manera ambos cumplen con la misma función y en la práctica en el 99%  de los casos no habrá diferencia si usamos uno u otro para impedir que se dupliquen valores en una o más columnas que componen al objeto.

De hecho que al crear el Unique Constraint el mismo crea por debajo otro Indice Unico nonclustered automáticamente. (Continuar Leyendo sobre Cual es la diferencia entre un Unique Index y Unique Constraint)

post icon

Reducir el uso de la memoria RAM de SQL Server en caliente sin reiniciar el servicio

Leyendo mis RSS vi un artículo en grimpidev.wordpress.com que me gustó, sobre como liberar el consumo de la memoria RAM que utilizar el servicio de SQL Server.

Si bien es cierto que no es una función diseñada para tal efecto se puede utilizar como artificio para lograr éste objetivo, y me ha parecido muy original la manera que lo desarrollaron. La misma consiste básicamente en establecer el límite máximo a utilizar de RAM por el servicio en un valor bastante bajo obligandole al motor a liberar el recurso, y luego volviendo a establecer en su valor original. Son bien recibidos otros concejos y técnicas en los comentarios. (Continuar Leyendo sobre Reducir el uso de la memoria RAM de SQL Server en caliente sin reiniciar el servicio)

post icon

Configurar SQL Server para almacenar el estado de la sesión de ASP.NET

Las variables de sesión ya hemos visto como utilizar anteriormente en éste post, pero en ese momento sólo lo veíamos configurado con el método InProc que consume bastante memoria RAM del servidor. Hoy configuraremos para que la aplicación utilice SQL Server para administrar éstas variables.

Las ventajas y desventajas de cada modo de uso hace que sea ideal para casos específicos, en resumen, manejarlo con el método InProc hace que sea más rápida la lectura/escritura de las misma, pero otorga un alto consumo de memoria: si tenemos muchos objetos almacenado allí y más si tenemos una alta concurrencia. En cambio al almacenarlas (Continuar Leyendo sobre Configurar SQL Server para almacenar el estado de la sesión de ASP.NET)

post icon

Particionamiento Horizontal de Tablas en PostgreSQL

Más de uno me mirará con una cara ¿De que hablas, Willis? preguntándose que es un particionamiento horizontal de tablas. Se le llama así cuando tenemos tablas que almacenan un conjunto demasiado grande de registros (en millones) y éste comienza a tener un bajo rendimiento, es entonces cuando se decide partir la tabla en tablas más pequeñas en cuanto a su almacenamiento de datos se refiere.

Para comprender completamente el concepto de Particionamiento Horizontal necesitaremos el conocimiento previo de herencia de tablas en éste motor, lo pueden leer aquí si lo desean.

Hace unos meses hablaba con un amigo y colega sobre sus tareas en una empresa de gran porte en donde tiene millones de filas creadas al día, el rubro es la telefonía celular y almacenan los mensajes de texto para luego trabajar con ellos, me mencionaban que iban partiendo sus tablas de manera manual separado en meses y el DBA (Continuar Leyendo sobre Particionamiento Horizontal de Tablas en PostgreSQL)

post icon

Afinar el porcentaje de rebote real de Google Analytics

Hace unos días que vengo experimentando un poco con la publicidad en el blog, además de ir ajustando los reportes que me obtengo de Google Analytics. En el proceso me encontré con una información muy interesante en este blog y de tanto que me gusto lo quiero comentar aquí también.

Comencé a ver el porcetaje de rebote del blog y vi que era muy alto, pero no sabía que significaban realmente esos valores y me puse a investigar. Normalmente cuando los usuarios llegan a un sitio y se quedán por varios minutos, o comienzan a navegar por las distintas secciones del mismo, se considera que existe un porcentaje de rebote bajo, pero si el usuario llega y sale rápidamente se considera un porcentaje alto.

¿Esto quiere decir que el contenido del sitio no es interesante? realmente no aún, comparando con devtroce si un usuario llega buscando algún trozo de código especifico lo copia, lo usa y se va. (Continuar Leyendo sobre Afinar el porcentaje de rebote real de Google Analytics)

post icon

SubQuery SQL: cláusula FROM

Los SubQuery’s o SubConsultas son herramientas poderosas si las sabemos usar, y son básicamente consultas anidadas en otras consultas la cual devuelve un conjunto de valores. Prácticamente un SubQuery puede ser utilizado en cualquier expresión y cláusula ya sean SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY.

Como el tema de los SubQuery es bastante largo lo iré partiendo en pedazos agrupados por expresión (recomendación de Juan Cuevas), como lo ven en el título ahora veremos los SubQuerys aplicados en la cláusula FROM.

Ya sabemos que la cláusula FROM sirve para identificar las tablas de donde serán proveídos los datos a retornarse, como un SubQuery retorna un conjunto de valores también (Continuar Leyendo sobre SubQuery SQL: cláusula FROM)

post icon

Qué tipo de dato debo usar entre Decimal, Float o Real?

Hace tiempo que quería escribir sobre éste tema, ya que es muy importante considerar esto antes de comenzar a desarrollar un sistema nuevo (digo antes, porque si no lo hacen luego tendrán serios problemas).

En mi suerte (si existe tal cosa) supe de ésto hace tiempo gracias a que un día estuve leyendo la documentación oficial sobre los tipos de datos en SQL Server, pero para desgracia de un par de compañeros laborales ellos tuvieron que descubrirlo por las malas, cuando las cosas no salían como soñaban que saldrían.

La historia viene (Continuar Leyendo sobre Qué tipo de dato debo usar entre Decimal, Float o Real?)

post icon

[R#] ReSharper, mayor productividad y calidad de código con Visual Studio

No estoy escribiendo sobre ningún lenguaje nuevo ni derivado de C# por si piensan eso, R# ReSharper es una herramienta de la mano de JetBrains externa a Microsoft Visual Studio.

ReSharper

¿Y qué es entonces? Es un agregado que se integra al IDE Visual Studio que nos ayuda en tiempo de desarrollo a escribir mejor nuestro código, a optimizarlo y (Continuar Leyendo sobre [R#] ReSharper, mayor productividad y calidad de código con Visual Studio)

post icon

Delete o Truncate Table?

Muchos se preguntan constantemente que les conviene utilizar cuando quieren vaciar completamente una tabla, si uno es más rápido que el otro, cual es más óptimo?. Prácticamente todos los motores relacionales lo soportan.

Y si, cada uno tiene sus beneficios y contras, es cuestión de que es lo que buscamos lograr.

Para los que desconocen que hace el Truncate Table, es similar a ejecutar una sentencia Delete sin la claúsula Where

(Continuar Leyendo sobre Delete o Truncate Table?)

Página 2 de 41234