Optimización De Consultas

Páginas: 11 (2523 palabras) Publicado: 30 de octubre de 2012
OPTIMIZACIÓN DE CONSULTAS SQL
Tratar con conjuntos pequeños
Mientras más pequeño sea el número de filas con las que se está trabajando, más rápido se encontrará lo que se está buscando.
Si el optimizador de consultas encuentra que el número de filas en la tabla es lo suficientemente pequeño, no se utilizarán índices en dicha tabla. El optimizador se dará cuenta de que es más rápido escanearlas filas de la tabla para satisfacer la petición en lugar de atravesar una estructura de índice para encontrar las filas.
Limite el número de columnas devueltas
Al devolver los datos en sus aplicaciones, a menor cantidad de datos retornados, es más rápida la transmisión de información sobre la red. - esto es válido para la cantidad de filas devueltas, así como para el número de columnasdevueltas. Es por eso que estoy en contra de utilizar la instrucción SELECT *, especialmente en un entorno de producción. En mi experiencia con la administración de bases de datos y el desarrollo, he visto muy pocas veces que han sido justificadas mediante una instrucción SELECT *. La razón de esto es doble. No tiene sentido traer de vuelta las columnas que no se van a utilizar. La segunda razón (que creoque es más importante) es que el uso de SELECT * puede romper el código existente. Consideremos el siguiente ejemplo.
Tengo una instrucción INSERT en mi entorno de producción. Puedo utilizar una instrucción SELECT * como fuente de datos en mi declaración INSERT. Esto no es gran cosa porque mi TablaFuente tiene el mismo número de columnas en ella como la TablaDestino.
SELECT INTOTablaDestino
(Fld1, Fld2, Fld3)
SELECT *
FROM TablaFuente. 
En una situación de negocios se presenta en que tengo que agregar un campo a la tabla de TablaFuente.
ALTER TABLE TablaFuente
ADD Campo4 INT
La adición de este nuevo campo romperá mi declaración INSERT, lo que provocará problemas en mi entorno de producción.
La búsqueda de filasLa manera en que las filas se buscan en una tabla de base de datos será siempre una de las implementaciones más vitales en el entorno de su base de datos. El optimizador de consultas de SQL Server funciona de manera más eficiente para algunos cuando las declaraciones WHERE son comparadas con otros, cuando las declaraciones WHERE están basadas en la forma en que la declaración está escrita,incluso si el resultado de las declaraciones es el mismo.
En el ejemplo siguiente se utiliza la declaración IN() para especificar una serie de valores que se estarán buscadno. Para este ejemplo, supongamos que la columna OrderID como un índice no agrupado.
SELECT * FROM VentaProduct
WHERE OrderID IN(4494, 4495, 4496)
Esta afirmación es exactamente lo mismo que usar un operador OR para especificarlos tres valores que se buscaban. Cualquier declaración provocará que SQL Server no utilice el índice en el campo y para recorrer las filas de la tabla en busca de los valores. Dado que los valores utilizados en el ejemplo son contiguos, puedo usar el operador BETWEEN en su lugar. Esto permitirá que el optimizador de consultas utilice eficazmente el índice.
SELECT * FROM ProductSales
WHEREOrderID BETWEEN 4494 AND 4496
En general, la mayoría de los tipos de declaraciones de exclusión en la cláusula WHERE hará que SQL Server no utilice un índice. Los siguientes son algunos ejemplos:
<>,  !, OR, NOT IN, NOT EXISTS
La manera en que las declaraciones  se utilizan también hace una diferencia. Si se es capaz de especificar el carácter de principio (s) de la declaración que estábuscando, usted tendrá una mejor oportunidad de su declaración mediante un índice. Si se especifica un carácter comodín (%) antes de cualquier tipo de cadena de búsqueda, el optimizador no será capaz de utilizar un índice.
SELECT * FROM Estudiantes WHERE Apellido LIKE '%TR%'
Búsqueda de Fechas
Las búsquedas de Fecha son a veces un poco difíciles de realizar en la base de datos, por ejemplo, he...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Optimizacion De Consultas
  • Optimizacion De Consultas
  • Optimizacion de consultas
  • Procesamiento y optimizacion de consultas en sqlserver
  • Optimizacion de consulta de libros
  • TRIGGERS Y OPTIMIZACION DE CONSULTAS
  • Analisis y Optimizacion de Consultas de bdd
  • Optimización de consultas SQL

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS