Está usted en Indice > Construcción > Lenguajes > MySQL > Lecciones y Paso a Paso > Trabajar con tablas temporales
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Trabajar con tablas temporales

Si trabajamos con tablas muy grandes, solemos necesitar trabajar ocasionalmente con un pequeño conjunto de datos dentro de esa gran tabla. Si cada vez hemos de ejecutar una consulta completa sobre la tabla podemos cargar mucho el servidor y relentizar el sistema, por lo que podemos intentar trabajar en MySQL con tablas temporales que tendran este pequeño conjunto de datos de la tabla madre, que seran mucho más pequeñas y más rápidas.

Para crear una tabla temporal solo debemos agregar  TEMPORARY a la sentencia CREATE TABLE:

Ejemplo:

CREATE TEMPORARY TABLE taula_temp
(
      id int(11) NOT NULL auto_increment,
    fecha1 date NOT NULL default '0000-00-00',
    id_doc int(11), 
      titulo text,
      apartado varchar(50),
    PRIMARY KEY  (`id`),
    UNIQUE KEY `id` (`id`)
      ) ;

La tabla temporal existira mientras la conexión este abierta si es que nosotros no la destruimos antes. Una vez cerrada la conexión la tabla será destruida y el espacio que ocupava (en memória o disco) será liberado.

Si creamos una tabla que tiene el mismo nombre que una existente ya en la base de datos, la que existe quedará oculta y trabajaremos sobre la temporal.

Tablas tipo HEAP

MySQL también permite especificar que una tabla temporal sea creada en memoria si dicha tabla se declara del tipo HEAP:

CREATE TEMPORARY TABLE taula_temp
(
    fecha1 date NOT NULL default '0000-00-00',
    id_doc int(11), 
      titulo text,
      apartado varchar(50),
    PRIMARY KEY  (`id`),
    UNIQUE KEY `id` (`id`)
) TYPE = HEAP;

Una tabla no puede tener más de 1600 campos (esto viene limitado por el hecho que el máximo tamaño de una tupla debe ser menor que 8192 bytes), pero este límite puede ser configurado a un tamaño menor en algunos sitios. Una tabla no puede tener el mismo nombre que una tabla del sistema.

A diferencia de una tabla TEMPORARY, que solo puede ser accedida por el usuario que la crea, una tabla HEAP puede ser utilizada por diversos usuarios. No soportan columnas de autoincremento ni que haya valores nulos en los índices. Los datos son almacenados en pequeños bloques.





Autor: Xavier Bernardí i Millán
http://www.xlwebmasters.com/modules.php?d=doc&f=doc2&id=1067

Usuarios que han visto este tema también han visto...

- Conectar desconectar al servidor MySQL
- Creación de bases de datos y tablas en MySQL
- Conexión remota a MySQL con MS Access
- Búsquedas con Full-text y MySQL


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 04-07-2008 a las 17:57:17