临时表的应用
1)、当某一个SQL语句关联的表在2张及以上,并且和一些小表关联。可以采用将大表进行分拆并且得到比较小的结果集合存放在临时表中。
2)、程序执行过程中可能需要存放一些临时的数据,这些数据在整个程序的会话过程中都需要用的等等。
临时表不建立索引,所以如果数据量比较大或进行多次查询时,不推荐使用。数据处理比较复杂的时候临时表快,反之视图快点
-- To clear table if it already exists;
-- fill in name of temp table
DROP TABLE IF EXISTS profit8;
-- Create the temporary table
CREATE TEMP TABLE profit80 AS
-- Select the two columns you need; alias as needed
SELECT sector,
PERCENTILE_DISC(0.8) WITHIN GROUP (ORDER BY profits) AS pct80
-- What table are you getting the data from?
FROM fortune500
-- What do you need to group by?
GROUP BY sector;
-- See what you created: select all columns and rows
-- from the table you created
SELECT *
FROM profit80;
例子
WITH AS
短语里的数据放入一个全局临时表里。很多查询通过这种方法都可以提高速度