"Nils Valentin" <[EMAIL PROTECTED]> wrote:
> I have some questions about temporary tables. I would appreciate any replies:
> 
> I created a temporary table f.e. like this:
> 
> mysql> create temporary table temp SELECT * FROM relations;
> Query OK, 4 rows affected (2.35 sec)
> Records: 4  Duplicates: 0  Warnings: 0
> 
> When I do
> 
> mysql> show create table temp;
> 
> Then it will give me this:
> 
> | temp  | CREATE TEMPORARY TABLE `temp` (
>  `member_id` int(16) NOT NULL default '0',
>  `company_id` int(16) NOT NULL default '0',
>  `membership_id` int(16) NOT NULL default '0'
> ) TYPE=MyISAM CHARSET=latin1 |
> 
> 
> Now what confuses me is that 
> 
> a) it says here TYPE=MyISAM

Because MyISAM is default table type

> b) I understood that only HEAP tables are stored in the memory.

Yes.

> I was assuming (until now) that HEAP tables are (the only one type of)  
> temporary tables.

Temporary tables may have type HEAP.

> I tried 
> 
> CREATE TEMPORARY TABLE temp TYPE= InnoDB SELECT * FROM relations; 
> or
> CREATE TEMPORARY TABLE temp TYPE= HEAP SELECT * FROM relations;
> 
> and they are all created as  in-memory tables no files are created.
> Can I use any table format (ISAM,MYISAM,BDB,InnoDB,HEAP) for temporary tables 

You can use MyISAM, ISAM, MERGE, HEAP, InnoDB.
Temporary table files are created in the temporary directory:
        http://www.mysql.com/doc/en/Temporary_files.html

> If, so what would be the difference between a temporary table in general and a 
> HEAP table ?

Temporary tables are the per-connection tables.
HEAP tables are stored in memory tables. 


-- 
For technical support contracts, goto https://order.mysql.com/?ref=ensita
This email is sponsored by Ensita.net http://www.ensita.net/
   __  ___     ___ ____  __
  /  |/  /_ __/ __/ __ \/ /    Victoria Reznichenko
 / /|_/ / // /\ \/ /_/ / /__   [EMAIL PROTECTED]
/_/  /_/\_, /___/\___\_\___/   MySQL AB / Ensita.net
       <___/   www.mysql.com





-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to