在mysql中使用临时表

时间:2014-03-03 07:29:11

标签: php mysql

我创建了一个临时表。然后使用join语句将数据插入表中。然后我从表中检索要列出的值。这个临时表是否有更好的性能,使用这种方法是个好主意吗?

    $tmp_table = mysql_query("CREATE TEMPORARY TABLE temp_table (id int NOT NULL,name varchar(255),address varchar(255))");
    $insert_query = mysql_query("INSERT INTO temp_table(id,name,address) SELECT a.id,a.name,b.address FROM table1 a INNER JOIN table2 b ON a.id=b.id");
    $select_query = mysql_query("SELECT * FROM temp_table");
    while($row = mysql_fetch_array($select_query)){
        echo $row['id'];
        echo $row['name'];
        echo $row['address'];
    }

1 个答案:

答案 0 :(得分:1)

没有!!完全没有使用原始查询更好,更少开销。

  

如果要获取包含大量常见内容的多个结果集,请使用Temp表   数据,获得具有所有数据的单个结果集是有意义的   需要的数据,将其存储在临时表中,然后选择   根据需要从这个临时表中。同样,反复时   指的是表数据的相同子集,它通常更快,更多   将结果存储在临时表中是经济的,而不是   多次重复复合连接。