Hi MySQL Fans ;-),

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
b) I understood that only HEAP tables are stored in the memory.

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

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 
?

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



-- 
---
Valentin Nils
Internet Technology
 E-Mail: [EMAIL PROTECTED]
 URL: http://www.knowd.co.jp
 Personal URL: http://www.knowd.co.jp/staff/nils


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

Reply via email to