我创建了一个临时表。然后使用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'];
}
答案 0 :(得分:1)
没有!!完全没有使用原始查询更好,更少开销。
如果要获取包含大量常见内容的多个结果集,请使用Temp表 数据,获得具有所有数据的单个结果集是有意义的 需要的数据,将其存储在临时表中,然后选择 根据需要从这个临时表中。同样,反复时 指的是表数据的相同子集,它通常更快,更多 将结果存储在临时表中是经济的,而不是 多次重复复合连接。