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

何時選擇虛擬列分區

虛擬列分區可以對表達式進行分區,該表達式可能使用來自其他列的數據,并使用這些列進行計算。

虛擬列分區支持所有分區類型。如果查詢條件不是某一個列上的原始數據,而是經過計算過的,又不想添加一個單獨的列來存儲計算過的正確值,可以考慮添加一個虛擬列。

在以下示例的sales表中,客戶的確認號包含兩個字符的省市名稱,作為取車的地點,租車分析通常評估地區模式,因此可以按照省市劃分:

CREATE TABLE `sales` (
  `id` int(11) NOT NULL,
  `customer_id` int(11) NOT NULL,
  `confirmation_number` varchar(12) NOT NULL,
  `order_id` int(11) DEFAULT NULL,
  `order_type` varchar(10) DEFAULT NULL,
  `start_date` date NOT NULL,
  `end_date` date DEFAULT NULL,
  `province` varchar(12) GENERATED ALWAYS AS (substr(`confirmation_number`,9,2)) VIRTUAL
) ENGINE=InnoDB
PARTITION BY LIST COLUMNS(province)
SUBPARTITION BY HASH (`customer_id`)
SUBPARTITIONS 16
(PARTITION p_cn_north VALUES IN ('BJ','TJ','HB','NMG'),
 PARTITION p_cn_south VALUES IN ('GD','GX','HN'),
 PARTITION p_cn_east VALUES IN ('SH','ZJ','JS'));

在上述示例中,列省市定義為從確認號派生的虛擬列。虛擬列不需要任何存儲,虛擬列支持行移動。如果虛擬列在另一個分區中計算出不同的值,則數據庫將一行遷移到另一個分區。