Azure SQL Data Warehouse: November 2015 Updates で新規に作成したテーブルのデフォルトが列ストアインデックスになったことがアナウンスされたので、動作を確認してみました。
詳細については、Clustered Columnstore Tables are the New Default in Azure SQL Data Warehouse に記載されています。
CREATE TABLE Table1 ( id int NOT NULL, lastName varchar(20), zipCode varchar(6) ) GO
のような、テーブルを作成すると、現状は新規のテーブルについては列ストアインデックスとして作成された状態となります。
実際に確認するためには、以下のようなクエリを実行します。
# SQL Data Warehouse の DMV については、SQL Data Warehouse カタログ ビュー から確認できます。
SELECT
name, type_desc
FROM
sys.indexes
WHERE object_id = object_id('Table1')
GO
SELECT
t.object_id,
pim.object_id,
pni.object_id,
t.name,
pim.physical_name,
pni.name,
pni.index_id,
pni.type_desc,
pni.pdw_node_id,
pni.distribution_id
FROM
sys.tables t
LEFT JOIN
sys.pdw_index_mappings pim
ON
t.object_id = pim.object_id
LEFT JOIN
sys.pdw_nodes_indexes pni
ON
pni.name = pim.physical_name
WHERE
t.object_id = object_id('Table1')
ORDER BY
t.name ASC,
pni.distribution_id ASC
「type_desc」が「CLUSTERED COLUMNSTORE」になっていることが確認できますね。
現状、ヒープ (クラスター化インデックスのないテーブル) を作成するためには、「HEAP」を指定して作成する必要があります。
CREATE TABLE Table1 ( id int NOT NULL, lastName varchar(20), zipCode varchar(6) ) WITH(HEAP) GO
「HEAP」を指定した場合は、「HEAP」となっていることが確認できますね。
アップデートが行われる前から、SQLDWH を使用している場合は、どのテーブルがどのようなインデックスを使用しているかは一度確認してみてもいいかもしれないですね。