* Tres métodos para optimizar el rendimiento del sistema:
   - Mejorar la estructura de las tablas.
   - Mejorar las consultas (pero depende de cada aplicación).
   - Mejorar la configuración del servidor MySQL.

 * Las tablas desordenadas provocan búsqueda secuencial lenta. Pero una tabla
   ordenada también tiene su coste:
   - Ordenar una tabla desordenada es costoso.
   - Constante acceso de escritura desordena de nuevo los registros de la tabla.
   - La inserción y eliminación ordenada de registros es costoso.
   - Cuando ordenamos por una columna desordenamos el resto de columnas.

 * Creando índices conseguiremos consultas mucho más rápidas:
   - Es menos costoso de insertar. modificar y eliminar en un índice que hacerlo
     en toda una tabla ordenada.
   - Puedo tener varios índices de una tabla, lo que permite ordenar tabla por
     varios criterios a la vez.
   - Los índices ocupan espacio en disco y memoria, y las operaciones de
     inserción, modificación y borrado serán un poco más lentas (habrá que
     actualizar índices), por lo que no debemos indexar todas las columnas, sino
     sólo las más usadas en búsquedas.
   - Cuanto más pequeño es el índice más rápidas serán las operaciones.

?

 

 * Algunas sentencias se ejecutan mucho más eficientemente si hay índices:

     SELECT * FROM A,B,C WHERE A.a = B.b AND B.b = C.c;

   - Sin índices  ->  producto cartesiano + filtrado
   - Con índices  ->  A + (filtrado A.a = B.b) + (filtrado B.b = C.c)

 * Crear una nueva tabla con índices:
     CREATE TABLE nombre_tabla (definición, INDEX nombre_indice (campo(longitud)), ...);

   Ejemplo:
     CREATE TABLE `Alumnos` (
       `DNI` int(8) NOT NULL,
       `Nombre` char(35) NOT NULL,
       `Nota` int(2) NOT NULL,
       PRIMARY KEY (`DNI`),
       INDEX(`Nombre`) );

 * Crear un índice en una tabla ya existente (dos maneras):
     CREATE [UNIQUE] INDEX nombre_indice ON nombre_tabla (nombre_columna(longitud),...);
     ALTER TABLE nombre_tabla ADD INDEX nombre_indice (nombre_columna(longitud),...);

   Ejemplo:
     CREATE INDEX indice ON Alumnos (Nombre(10));
     ALTER TABLE Alumnos ADD INDEX (Nombre(10));

 * Borrar un índice en una tabla ya existente (dos maneras):
     DROP INDEX nombre_indice ON nombre_tabla;
     ALTER TABLE nombre_tabla DROP INDEX nombre_indice;

   Ejemplo:
     DROP INDEX indice ON Alumnos;
     ALTER TABLE Alumnos DROP INDEX Nombre;

 * Las consultas por columnas que pueden contener valores NULL son más lentas.

 * El rendimiento mejora si los registros de la tabla tienen longitud fija (sin
   campos de tipo VARCHAR, TEXT o BLOB). Si cada campo (columna) tiene una
   longitud fija entonces cada registro (línea) también tendrá una longitud fija.
   - Disminuye la fragmentación: los registros borrados son substituidos por
     registros de la misma longitud.
   - Aumenta la velocidad: los registros son accedidos por "número de registro"
     en lugar de "desplazamiento dentro del fichero".
   - Disminuye el consumo de memoria: el índice es más pequeño.

 * También se puede desfragmentar tablas para ganar espacio y velocidad:

     OPTIMIZE TABLE tabla;

 * Lecturas para profundizar:
   - http://dev.mysql.com/doc/refman/5.0/es/mysql-indexes.html
   - http://dev.mysql.com/doc/refman/5.0/es/create-index.html
   - http://dev.mysql.com/doc/refman/5.0/es/optimize-table.html
   - http://dev.mysql.com/doc/refman/5.0/es/optimizing-database-structure.html

 

 

Impresora 3D basada en el T1000 de terminator 2 El terrorífico robot metálico de “Terminator 2”, que podía volverse líquido para cambiar de forma, inspiró en Estados Unidos un nuevo tipo de impresor...
Nueva búsqueda en tiempo real en Google Google RealTime (Google en tiempo real), la interesante herramienta con la que ofrecer resultados inmediatos obtenidos de fuentes como redes sociales ...
Facebook lleva visualización de las fotografías de su versión móvil a la web Si te gusta la manera de visualizar las fotografías que Facebook tiene en su aplicación móvil, pues entonces buenas noticias para ti. Porque desde est...
Historia de la Informática, Quien era Ada Lovelace Augusta Ada King, conocida como la condesa de Lovelace, nació el 10 de diciembre de 1815 en Inglaterra. Una curiosidad: Lovelace es la hija del conoci...
Por qué es tan importante Internet marketing online La respuesta es sencilla, Internet marketing online es primordial en los negocios de hoy en día porque Internet es una herramienta imparable e irrevoc...
IBM invertirá 3000 millones para nuevos tipos de chips Una necesaria apuesta por el hardware: los ingresos por esta vía cayeron un 23% en el 1Q, en comparación con el mismo período de 2013. El Gigante A...
Diseño Gráfico, Publicitario y Catálogos Realizamos el diseño gráfico que necesita para sus campañas por internet,en impresos,etc. Muchos años de experiencia en el medio nos hacen los mas idó...
Apple cambia de ciclo Tras cerca de 14 años al frente de una de las compañías tecnológicas con más éxito Steve Jobs, CEO y cofundador de Apple, ha dado a conocer su retirad...
Opencart Module for Dimensional Weight Shipping This extension allows you to set advanced shipping rates for your shop, and can be calculated by Dimensional Weight with Postal Code and Category supp...
Opencart Module for Product Display (With Coming Soon Addon (VQMod)) The Coming Soon Addon Requires VQMod To Work This module allows you to place custom product displays on your site Features: Advanced administr...
ANALISIS Y OPTIMIZACIÓN DE TABLAS EN MYSQL