Exposiciones: “Algebra relacional y optimización de consultas para SQL y Mysql”

Algebra relacional SQL.

Es un conjunto de operaciones que describen paso a paso como computar una respuesta sobre las relaciones, tal y como son definidas en el modelo relacional. Denominadas de tipo procedimental, a diferencia del calculo relacional que es de tipo declarativo.

Las siguientes  Operaciones son:

•Proyectar (+)

•Seleccionar (+)

•Join ó Reunir ( )

•Unir (∪)

•Intersectar (∩)

•Eliminación.

Modificación

 

Proyección

Selecciona el valor de ciertos atributos de todas las tuplas de una relación, Selecciona columnas completas.

 
 

Selección (.)

Selecciona el valor de ciertas tuplas, Selecciona filas completas.

 

Intersectar (∩)

La intersección, como en Teoría de conjuntos, corresponde al conjunto de todas las tuplas que están en R y en S, siendo R y S relaciones compatibles:•R ∩ S•Por Ejemplo:•Alumno ∩ Profesor

Ejemplo:

 

Eliminación

 OPTIMIZACIÓN DECONSULTAS

Cuando hablamos de optimización de consultas nos referimos a mejorar los tiempos de respuesta en un sistema de gestión de bases de datos relacional, pues la optimización es el proceso de modificar un sistema para mejorar su eficiencia o también el uso de los recursos disponibles. 

MySQL

CALCULO RELACIONAL

Es un lenguaje de consulta que describe la respuesta deseada sobre una Base de datos sin especificar como obtenerla, a diferencia del Álgebra relacional que es de tipo procedural, el cálculo relacional es de tipo declarativo; pero siempre ambos métodos logran los mismos resultados.

Podem

Es un lenguaje de consulta que describe la respuesta deseada sobre una Base de datos sin especificar como obtenerla, a diferencia del Álgebra relacional que es de tipo procedural, el cálculo relacional es de tipo declarativo; pero siempre ambos métodos logran los mismos resultados.

os definir una formula con base a combinaciones de formulas atómicas.

Una formula atómica es una combinación de variables (tipo tupla o tipo dominio, según corresponda) y atributos o constantes, gracias al uso de operadores como <, >, =, !=, <=, >=.
 
•También es una formula atómica variable ∈ Relación.
•Las combinaciones de fórmulas atómicas se generan a partir del uso de operadores como NOT (¬), AND (∧), OR (∨), →.

 

Optimización de consultas

El Proceso de Consulta de MySQL

Para poder mejorar el rendimiento de una consulta debemos conocer antes cómo las resuelve MySQL. Es loque se conoce como “proceso de consulta”.

Cuando MySQL recibe una consulta, procede de lasiguiente forma:

En primer lugar, busca la consulta en la caché. Si hay suerte, ya tendrá los resultados guardados de una consulta anterior y no tendrá que resolverla.

•En segundo lugar, si no ha podido utilizar la caché, analiza la consulta, comprueba su sintaxis e identifica su tipo; es la fase de “parseo”.

 
 
 

MySQL registra las consultas de tipo SELECT y su resultado. Como lo normal es que se acceda a la base de datos a través de una aplicación, las consultas repetidas son muy frecuentes (listas de poblaciones, de códigos, de nombres…).•Si MySQL recibe una consulta que tiene en la caché, simplemente entrega al cliente el mismo conjunto de resultados que produjo en su ejecución anterior. Naturalmente, las consultas de modificación de datos (INSERT, DELETE, UPDATE…) invalidan las consultas afectadas de la caché y provocan la eliminación de estas de la caché. 

 

Podemos utilizar la caché para mejorar el rendimiento de nuestra base de datos. La variable mysql_cache_type (en my.cnf) establece el tipo de caché que utilizará MySQL. Un valor a 1 hará que todas las consultas de tipo SELECT sean cacheadas, salvo que expresamente indiquen lo contrario mediante el modificador SQL_NO_CACHE en la sentencia SELECT. Un valor de query_cache_type igual a 2 hará lo contrario. Las consultas no serán cacheadas salvo que expresamente lo soliciten con SQL_CACHE.

 

De esta forma podremos controlar y mejorar la calidad de la caché, haciendo que las consultas repetidas sean cacheadas y evitando que las consultas que no se repiten (buscadores, datos de un cliente…) consuman espacio de almacenamiento. El tamaño de la cache se establece en la variable query_cache_size. Y el límite de almacenamiento por consulta en la variable query_cache_limit. La estrategia concreta de usode estas variables dependerá de las características del servidor y de la aplicación.

 

 

 

 
 

 

 
About these ads

About lizgutierrezlpz5

hello!! my name is liz. I like to dance. My hobby is go to cinema. La vida es corta hay que disfrutar cada instante al 100!!
This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s