MySQL中使用临时表处理查询结果(mysql查询结果临时表)
MySQL中使用临时表处理查询结果
MySQL临时表是一种优秀的工具,可以让使用者在生成临时表时,把复杂查询中所得结果,放入临时表中,从而改变结果的排序方式,甚至对所得结果进行后续的更多处理。今天,我们就来看看MySQL中如何使用临时表来处理查询结果。
在MySQL中,临时表是一种隐藏的,独立存在于数据库cache中的表,具有和正常表一样的结构,不同的是临时表的数据是存储在服务器的内存中的,比正式的MySQL表更快,速度上更快,但是数据的持久性就更差,随着MySQL Service的重启,该表中的数据就会消失。要定义一个临时表,只需在CREATE TABLE语句之前添加TEMPORARY关键字:
` CREATE TEMPORARY TABLE table_name (
column_name data_type,
);
`
如果想把查询结果存入临时表,可以使用SELECT … INTO TEMPORARY TABLE 语句:
`
SELECT id,name,age FROM users INTO TEMPORARY TABLE users_temp;
`
在MySQL中,除了临时表,全局临时表也是一种普遍使用的技术,也是使用临时表方式处理查询结果的一种方式,只不过该表的数据在不同的用户Session中是可以共享的。要定义一个全局临时表,只需在CREATE TABLE语句之前添加GLOBAL关键字:
` CREATE GLOBAL TEMPORARY TABLE table_name_temp (
column_name data_type,
);
`
如果想把查询结果存入临时表,可以使用SELECT … INTO GLOBAL TEMPORARY TABLE 语句:
`
SELECT id,name,age FROM users INTO GLOBAL TEMPORARY TABLE users_global_temp;
`
总之,使用MySQL的临时表,可以减少SQL语句的复杂性,提高查询的效率,在处理复杂的查询结果时,可以帮助应用层减轻查询结果的负担,从而极大的方便处理查询结果的工作。