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.
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
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.