1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
      mysql怎么添加分區(qū),mysql建分區(qū)表

      mysql分區(qū)之list分區(qū)

      需要指定的每個(gè)分區(qū)數(shù)據(jù)的存儲(chǔ)條件。分區(qū)的字段一定要是主鍵!按照生日中的月份,分成春夏秋冬四個(gè)分區(qū)。

      創(chuàng)新互聯(lián)建站主營(yíng)裕安網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶APP軟件開發(fā),裕安h5成都小程序開發(fā)搭建,裕安網(wǎng)站營(yíng)銷推廣歡迎裕安等地區(qū)企業(yè)咨詢

      下面新建一個(gè)list_1表,

      分區(qū)創(chuàng)建成功之后,查看文件信息

      注意:chun和dong兩個(gè)分區(qū),分別放入了數(shù)據(jù).這就說明我們的分區(qū)生效了.

      1 list分區(qū)就是根據(jù)分區(qū)條件,將數(shù)據(jù)分為若干區(qū),也會(huì)生成相應(yīng)的數(shù)據(jù)文件.

      2 這個(gè)list()中也可以直接指定字段,但是這個(gè)字段一定要是整數(shù).

      Mysql分區(qū)表Partition

      一、背景

      話說風(fēng)和日麗的一天,為提高隨著業(yè)務(wù)增長(zhǎng)的大表(3510449行吧)的訪問效率,于是決定對(duì)表分區(qū),記錄如下。

      二、實(shí)操

      結(jié)合業(yè)務(wù),若干條記錄會(huì)集中在一個(gè)日期,查詢時(shí)也往往只查詢一個(gè)日期內(nèi)的數(shù)據(jù),于是選取分區(qū)字段為時(shí)間。

      創(chuàng)建分區(qū) 比如

      CREATE TABLE message_all (

      id int(10) NOT NULL AUTO_INCREMENT,

      ......

      createtime datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間'

      PRIMARY KEY ( id , createtime )

      ) ENGINE=InnoDB DEFAULT CHARSET=utf8

      PARTITION BY RANGE (YEAR(createtime))

      (PARTITION p2015 VALUES LESS THAN (2016) ENGINE = InnoDB,

      PARTITION p2016 VALUES LESS THAN (2017) ENGINE = InnoDB,

      PARTITION p2017 VALUES LESS THAN (2018) ENGINE = InnoDB,

      PARTITION p2018 VALUES LESS THAN MAXVALUE ENGINE = InnoDB)

      不過我們表已經(jīng)有了當(dāng)然不能這么建,除非你想導(dǎo)一次數(shù)據(jù)。

      如下操作 :

      1、

      ALTER TABLE message_all PARTITION BY RANGE (to_days(createtime))

      (

      PARTITION p2015 VALUES LESS THAN (to_days('2016-01-01')),

      PARTITION p2016 VALUES LESS THAN (to_days('2017-01-01')),

      PARTITION p2017 VALUES LESS THAN (to_days('2018-01-01')),

      PARTITION p2018 VALUES LESS THAN MAXVALUE

      );

      或者

      2、ALTER TABLE message_all PARTITION BY RANGE (YEAR(createtime))

      (

      PARTITION p2015 VALUES LESS THAN (YEAR('2016-01-01'))

      );

      然后追加。

      ALTER TABLE message_all ADD PARTITION

      (

      PARTITION p2016 VALUES LESS THAN (YEAR('2017-01-01')),

      PARTITION p2017 VALUES LESS THAN (YEAR('2018-01-01')),

      PARTITION p2018 VALUES LESS THAN MAXVALUE

      );

      這里會(huì)有幾種錯(cuò)誤情況:

      1、ALTER TABLE message_all PARTITION BY RANGE (to_days(createtime)) ;

      [Err] 1492 - For RANGE partitions each partition must be defined

      解釋:必須指定至少一個(gè)分區(qū)。

      2、[Err] 1492 - A PRIMARY KEY must include all columns in the table's partitioning function

      解釋:分區(qū)字段必須是主鍵之一。

      3、[Err] 1492 - Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed

      解釋:分區(qū)字段為timestamp,換成datetime。

      4、[Err] 1526 - Table has no partition for value xxxx

      解釋:用追加方式第一次必須覆蓋目前所有數(shù)據(jù)。

      總結(jié):

      1、創(chuàng)建時(shí)必須指定至少一個(gè)分區(qū)。

      2、key必須為主鍵之一。

      3、RANGE處必須為INT型,時(shí)間字段用函數(shù)轉(zhuǎn)——YEAR()、YEARWEEK()、TO_DAYS()。

      4、THAN處必須為INT型,時(shí)間字段用函數(shù)轉(zhuǎn)——TO_DAYS、TO_SECONDS()、UNIX_TIMESTAMP()。

      5、它就是以兩個(gè)INT比大小劃分的文件。

      6、所有ENGINE必須一樣。

      7、范圍分區(qū)添加只能在最大值后面追加。

      8、分區(qū)是有上限的貌似1024個(gè)。

      用到的其他操作

      1、刪除分區(qū)(直接扔掉分區(qū)文件,數(shù)據(jù)也沒了)

      ALTER TABLE message_all DROP PARTITION p2016;

      2、清空分區(qū)數(shù)據(jù)

      ALTER TABLE message_all TRUNCATE PARTITION p2017;

      3、重定義(可實(shí)現(xiàn):分區(qū)拆分、合并、重命名)

      ALTER TABLE message_all REORGANIZE PARTITION p201601,p201602,p201603,p201604 INTO

      (

      PARTITION p2016012 VALUES less than(TO_DAYS('2016-03-01')),

      PARTITION p2016034 VALUES less than(TO_DAYS('2016-05-01'))

      );

      檢查/查看你的分區(qū)

      1、SHOW TABLE STATUS LIKE 'message_all';

      2、SELECT * FROM information_schema.partitions WHERE table_name='message_all';

      3、SHOW CREATE TABLE message_all;

      4、EXPLAIN SELECT COUNT(1) FROM message_all WHERE createtime= '2016-01-01' AND createtime '2016-12-30';如果用到了分區(qū)partitions里會(huì)有顯示。

      5、指定分區(qū)查

      SELECT COUNT(1) FROM message_all PARTITION (p2016) 表別名 WHERE ......;

      到這里就結(jié)束啦,土豆白。

      一些概念

      水平分區(qū)Partition有以下幾種模式

      mysql 分區(qū)PARTITIONS之基本使用

      當(dāng)數(shù)據(jù)表中的數(shù)據(jù)量很大時(shí),分區(qū)帶來的效率提升才會(huì)顯現(xiàn)出來。

      只有檢索字段為分區(qū)字段時(shí),分區(qū)帶來的效率提升才會(huì)比較明顯。因此, 分區(qū)字段的選擇很重要 ,并且 業(yè)務(wù)邏輯要盡可能地根據(jù)分區(qū)字段做相應(yīng)調(diào)整 (盡量使用分區(qū)字段作為查詢條件)。

      1、分區(qū)表對(duì)業(yè)務(wù)透明,只需要維護(hù)一個(gè)表的數(shù)據(jù)結(jié)構(gòu)。

      2、DML操作加鎖僅影響操作的分區(qū),不會(huì)影響未訪問分區(qū)。

      3、通過分區(qū)交換快速將數(shù)據(jù)換入和換出分區(qū)表。

      4、通過TRUNCATE操作快速清理特定分區(qū)數(shù)據(jù)。

      5、通過強(qiáng)制分區(qū)僅訪問特定分區(qū)數(shù)據(jù),減少操作影響。

      6、通過大數(shù)據(jù)量分區(qū)能有效降低索引層數(shù),提高查詢性能。

      1、創(chuàng)建表時(shí)指定分區(qū)

      物理文件:

      2、插入數(shù)據(jù)

      3、查詢 information_schema.partitions 表得到該表的分區(qū)信息

      4、查詢計(jì)劃分析

      5、添加分區(qū)

      若報(bào)錯(cuò):

      6、修改/覆蓋/合并分區(qū)

      報(bào)錯(cuò)

      所以需要添加pmax 分區(qū),一同修改

      7、刪除分區(qū)

      8、查詢具體分區(qū)的下數(shù)據(jù)

      MySQL分區(qū)的限制


      分享名稱:mysql怎么添加分區(qū),mysql建分區(qū)表
      URL地址:http://www.ef60e0e.cn/article/hojjhi.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        新龙县| 西和县| 小金县| 乌鲁木齐市| 刚察县| 上杭县| 柳林县| 临沧市| 霍林郭勒市| 蕲春县| 昭觉县| 原阳县| 准格尔旗| 柘荣县| 买车| 名山县| 康马县| 济阳县| 政和县| 石河子市| 和龙市| 伽师县| 乡城县| 宜州市| 开阳县| 庆元县| 丹东市| 咸阳市| 英吉沙县| 齐齐哈尔市| 东丽区| 丰原市| 宿州市| 剑河县| 军事| 无锡市| 高阳县| 三穗县| 四子王旗| 易门县| 珠海市|