Sunteți pe pagina 1din 2

JOSE LUIS CARDENAS CASTRO

Ingeniería de Software
UMB-2019

Administración de Bases de Datos

ACTIVIDAD 4 Optimizando rendimiento de las consultas

1. Para la tabla country en su base de datos cree un índice utilizando la


columna "description" llamado country_by_desc. Cree un índice sobre las
columnas "creation_date" y "status" llamado "country_by_ds". Ejecute las
siguientes sentencias y utilice el comando EXPLAIN para explicar.

 select * from country


Este como se puede utilizar para recuperar filas seleccionadas de la
tabla country, y puede incluir otras sentencias y/o subconsultas.

 create index country_by_desc on country(Capital)


Mediante esta sentencia le creamos un index (índice), a la tabla country
en la columna Capital.

 alter table country add index country_by_ds(Code,name);


Ahora le creamos otro index (índice), a las columnas Code y name de la
tabla country.

 show index from country;


Al ejecutar este comando se nos muestra todos los index (índice), de la
tabla country.

El comando EXPLAIN;
Este comando se usa cuando se quiere crear un plan de ejecución de
consultas o la distribución para una consulta. Se le puede especificar cómo se
van a explorar una tabla o varias tablas a las hace referencia a la hora de ser
consultadas.

 EXPLAIN SELECT * FROM country FORCE INDEX (country_by_ds )


WHERE Capital like 'CO' ORDER BY name

La usamos para realizar una consulta realizando un plan adecuando


para que se use un índice de una clave almacenada. Al realizar la
ejecución de esta sentencia le estamos diciendo al optimizador de
consultas que use nuestro índice para que encuentre las filas con el
nombre CO dentro de la tabla country de acuerdo al nombre de la
capital.
JOSE LUIS CARDENAS CASTRO
Ingeniería de Software
UMB-2019

 EXPLAIN SELECT * FROM country ORDER BY capital ASC

Es posible en nuestras tablas al revisar la información que está dentro


de ellas los resultados no se muestran de una forma organizada, por lo
cual esta sentencia nos permite realizar un orden en nuestra tabla
country de acuerdo al nombre de la capital descendente de las 203
columnas.

 EXPLAIN SELECT country.name FROM country WHERE country.name


BETWEEN 'Algeria' and 'Malawi'

Sorprendentemente, la consulta optimizada no usó el índice para la


columna ‘Name’ pese a que esta tiene un índice. El motivo es que la
consulta devuelve 203 filas de las 203 filas de la tabla country, podemos
decir que, por lo tanto, este optimizador de consultas realizo hacer un
análisis de toda la tabla.

 EXPLAIN SELECT * FROM country FORCE INDEX (country_by_ds )


WHERE Capital like 'CO' ORDER BY name

La usamos para realizar una consulta realizando un plan adecuando


para que se use un índice de una clave almacenada. Al realizar la
ejecución de esta sentencia le estamos diciendo al optimizador de
consultas que use nuestro índice para que encuentre las filas con el
nombre CO dentro de la tabla country de acuerdo al nombre de la
capital.
2. Optimice las siguientes consultas suponiendo que se realizan con
frecuencia y que no existen índices creados sobre las tablas afectadas,
a menos que se indique lo contrario.

 SELECT * FROM country WHERE Population BETWEEN 10 AND 1000;

Nos sirve para buscar de una tabla y una columna un rago de datos, por
ejemplo, en nuestra consulta queremos saber que ciudades de nuestra
tabla country tienen una población entre 10 y 1000 personas.

 SELECT continent, MIN(name) AS name FROM country GROUP BY


continent ORDER by continent;

Se usa para listar de una columna de acuerdo de un nombre de forma


alfabética. Al realizar esta consulta en la tabla country, nos lista todos los
continentes y que país está de primeras de acuerdo la forma
alfabéticamente.