2015-10-14 80 views
2

我正在處理有900萬條記錄的巨大表格。我正在嘗試備份表格。如下。select * into newtable和create table newtable之間的區別AS

首先查詢

Create table newtable1 as select * from hugetable ; 

第二個查詢

Select * into newtable2 from hugetable ; 

這裏先查詢似乎是相當快的。我想知道功能差異,爲什麼它比第二個查詢快?,哪一個是首選?

回答

4

Quote from the manual:

此命令(create table as)在功能上類似於SELECT INTO,但它是優選的,因爲它不太可能與SELECT INTO語法的其他用途相混淆。此外,CREATE TABLE AS提供了SELECT INTO提供的功能的超集。

所以都做同樣的事情,但CREATE TABLE AS是SQL標準的一部分(因而適用於其他DBMS也一樣),而SELECT INTO是非標準的。如手冊所述,您應該比非標準語法更喜歡CREATE TABLE AS

性能上兩者完全相同,您看到的差異可能與系統上的緩存或其他活動有關。

相關問題