国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

總結MySQL的分區

2024-07-24 12:53:51
字體:
來源:轉載
供稿:網友

前言

     分區是指根據一定的規則將一個大表分解成多個更小的部分,這里的規則一般就是利用分區規則將表進行水平切分;邏輯上沒有發生變化但實際上表已經被拆分成了多個物理對象,每個分成被劃分成了一個獨立的對象。相對于沒有分區的當個表而言分區的表有很多的優勢包括: 并發統計查詢、快速歸檔刪除分區數據、分散存儲、查詢性能更佳。

mysql5.7以后查詢語句支持指定分區例如:“ SELECT * FROM t PARTITION (p0,p1) WHERE c < 5 ”指定分區同樣適用DELETE, INSERT, REPLACE, UPDATE, and LOAD DATA, LOAD XML.

數據庫版本:mysql5.7.12 

是否支持分區

SHOW PLUGINS ;

查詢partition的的狀態是active就代表支持分區,如果是源碼安裝的話在編譯的過程中要添加“-DWITH_PARTITION_STORAGE_ENGINE=1 /”。

注意: MERGE, CSV, or FEDERATED存儲引擎不支持分區,同一個表所有的分區必須使用相同的存儲引擎,不能分區1使用MYISAM分區2又使用INNODB;不同的分區表可以是不同的存儲引擎。

分區介紹

目前mysql可用的分區類型主要有以下幾種:

     RANGE分區:基于一個給定的連續區間范圍,RANGE主要是基于整數的分區,對于非整形的字段需要利用表達式將其轉換成整形。

     LIST分區:是基于列出的枚舉值列表進行分區。

     COLUMNS分區:可以無需通過表達式進行轉換直接對非整形字段進行分區,同時COLUMNS分區還支持多個字段組合分區,只有RANGELIST存在COLUMNS分區,COLUMNS是RANGE和LIST分區的升級。

      HASH分區:基于給定的分區個數,將數據分配到不同的分區,HASH分區只能針對整數進行HASH,對于非整形的字段只能通過表達式將其轉換成整數。

      KEY分區:支持除text和BLOB之外的所有數據類型的分區,key分區可以直接基于字段做分區無需轉換成整數。 

說明

      1.注意分區名的大小寫敏感問題,和關鍵字問題。

      2.無論哪種分區類型,要么分區表中沒有主鍵或唯一鍵,要么主鍵或唯一鍵包含在分區列里面,對于存在主鍵或者唯一鍵的表不能使用主鍵或者唯一鍵之外的字段作為分區字段。

      3.5.7以前的版本顯示分區的執行計劃使用:explain PARTITIONS;5.7以后直接執行:explain

      4.沒有強制要求分區列非空,建議分區的列為NOT NULL的列;在RANGE 分區中如果往分區列中插入NULL值會被當作最小的值來處理,在LIST分區中NULL值必須在枚舉列表中否則插入失敗,在HASH/KEY分區中NULL值會被當作0來處理。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沂源县| 呼伦贝尔市| 甘德县| 昌邑市| 克东县| 康平县| 阿城市| 泸西县| 即墨市| 靖江市| 沙田区| 鄄城县| 沧州市| 岳阳县| 尚志市| 广安市| 呼和浩特市| 同心县| 彩票| 山阴县| 达拉特旗| 榆树市| 延庆县| 正镶白旗| 林芝县| 霞浦县| 冀州市| 祥云县| 砀山县| 河池市| 小金县| 安福县| 嘉义县| 万年县| 遵义市| 兴业县| 儋州市| 新津县| 城口县| 宜城市| 四子王旗|