日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

分區

分區表是指擁有分區空間的表,即將表數據按照某個列或多個列進行劃分,從而將表中的數據分散存儲在不同的物理位置上。合理設計和使用分區,可以提高查詢性能、簡化數據管理,并支持更靈活的數據訪問和操作。

概述

分區可以理解為分類,通過分類把不同類型的數據放到不同的目錄下。分類的標準就是分區字段,可以是一個,也可以是多個。

MaxCompute將分區列的每個值作為一個分區(目錄),您可以指定多級分區,即將表的多個字段作為表的分區,分區之間類似多級目錄的關系。

分區表的意義在于優化查詢。查詢表時通過WHERE子句查詢指定所需查詢的分區,避免全表掃描,提高處理效率,降低計算費用。使用數據時,如果指定需要訪問的分區名稱,則只會讀取相應的分區。分區表

部分對分區操作的SQL的運行效率較低,會給您帶來較高的費用,例如插入或覆寫動態分區數據(DYNAMIC PARTITION)

對于部分操作MaxCompute的命令,處理分區表和非分區表時語法有差別,詳情請參見表操作INSERT操作

使用限制

  • 單表分區層級最多為6級。

  • 單表分區數最大值為60000個。

  • 單次查詢允許查詢最多的分區個數為10000個。

  • STRING分區類型的分區值不支持使用中文。

使用說明

分區數據不宜過小,如果創建很多過小分區,會導致計算查詢性能下降。建議單分區數據不要小于一萬行。

分區列的數據類型

MaxCompute 2.0數據類型版本支持的分區字段為TINYINT、SMALLINT、INT、BIGINT、VARCHAR、STRING。

說明

在Meta中表的分區值通常以STRING類型進行存儲。對于非字符串類型的分區字段,其值會在內部被自動轉換為字符串類型。為避免因數據類型轉換導致的異常,建議在設計分區字段時使用STRING類型。

MaxCompute 1.0數據類型版本支持的分區字段僅有STRING。雖然可以指定分區列的類型為BIGINT,但是除了表的字段顯示為BIGINT類型,任何其他情況(例如,字段的計算和比較)下都當作STRING類型處理。執行如下語句后,返回結果為空。

---創建表parttest。
create table parttest (a bigint) partitioned by (pt bigint);
---向表中插入數據。
insert into parttest partition(pt)(a,pt) values (1, 1);
insert into parttest partition(pt)(a,pt) values (1, 10);
---查詢表中字段pt大于等于2的行。
select * from parttest where pt >= '2';

示例

  • 創建分區。

    --創建一個二級分區表,以日期為一級分區,地域為二級分區
    CREATE TABLE src (shop_name string, customer_id bigint) PARTITIONED BY (pt string,region string);
  • 使用分區列作為過濾條件查詢數據。

    --正確使用方式。MaxCompute在生成查詢計劃時只會將'20170601'分區下region為'hangzhou'二級分區的數據納入輸入中。
    select * from src where pt='20170601'and region='hangzhou'; 
    --錯誤的使用方式。在這樣的使用方式下,MaxCompute并不能保障分區過濾機制的有效性。pt是STRING類型,當STRING類型與BIGINT(20170601)比較時,MaxCompute會將二者轉換為DOUBLE類型,此時有可能會有精度損失。
    select * from src where pt = 20170601; 

相關文檔

分區相關操作(如添加分區、修改分區值等)命令請參見分區和列操作