• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            woaidongmao

            文章均收錄自他人博客,但不喜標(biāo)題前加-[轉(zhuǎn)貼],因其丑陋,見諒!~
            隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
            數(shù)據(jù)加載中……

            MySQL分區(qū)的簡單實例

            mysql數(shù)據(jù)庫的分區(qū)
            mysql
            數(shù)據(jù)庫分區(qū)也叫mysql數(shù)據(jù)庫分表,即當(dāng)一個表中數(shù)據(jù)庫非常大時,查詢速度非常慢影響效率,同時也增加了io的壓力,這樣我們就可以用分表的形式將一個表根據(jù)一定的規(guī)則將他分成多個表,主要的分表類型有rangelisthashkey,詳細說明可以參考mysql5.1以上版本參考手冊

            mysql分區(qū)支持主要在5.1以上版本,如果你的mysql5.1以上版本,查看是否支持分區(qū)的方式是:
            mysql> show variables like 'h%';
            +-------------------------+-----------------------+
            | Variable_name           | Value                 |
            +-------------------------+-----------------------+
            | have_community_features | YES                   |
            | have_compress           | YES                   |
            | have_crypt              | YES                   |
            | have_csv                | YES                   |
            | have_dynamic_loading    | YES                   |
            | have_geometry           | YES                   |
            | have_innodb             | NO                    |
            | have_ndbcluster         | NO                    |
            | have_openssl            | NO                    |
            | have_partitioning       | YES                   | -->>
            此項為yes說明支持表分區(qū)功能,如果為No則需要重新編譯
            | have_query_cache        | YES                   |
            | have_rtree_keys         | YES                   |
            | have_ssl                | NO                    |
            | have_symlink            | YES                   |
            | hostname                | localhost.localdomain |
            +-------------------------+-----------------------+
            15 rows in set (0.02 sec)

            如果不支持,則需要下載mysql5.1及以上版本,重新編譯安裝,這里以mysql-5.1.30.tar.gz來編譯安裝

            1.
            下載mysql-5.1.30.tar.gz源碼,
            2.
            解壓
                tar xvzf mysql-5.1.30.tar.gz
                cd mysql-5.1.30
                ./configure --prefix=/usr/local/mysql \
                --localstatedir=/data \
                --datadir=/data \
                --with-plugins=partition    //
            添加分區(qū)功能

                make && make install
                cd /usr/local/mysql/bin
                ./mysql_install_db
                ./mysqld_safe &
            3.
            安裝成功,則時mysql支持分區(qū)功能

            4.
            分區(qū)簡單實例,以range分區(qū)類型為例:
            create table users00 (
            uid int unsigned not null auto_increment primary key,
            name varchar(30) not null default "",
            email varchar(30) not null default ""
            )partition by range (uid)
            ( partition p0 values less than (10000) data directory = "/data00/" index directory = "/data00/",
            partition p1 values less than (20000) data directory = "/data00/" index directory = "/data00/",
            partition p2 values less than (30000) data directory = "/data00/" index directory = "/data00/",
            partition p3 values less than maxvalue data directory = "/data00/" index directory = "/data00/"
            );
            該表分區(qū)類型為range,分為4個區(qū),uid0~10000p0區(qū),10001~20000p1區(qū) ...
            查看users00表所在的數(shù)據(jù)目錄:
            ....
            -rw-rw---- 1 root root   8620 Nov 22 14:47 users00.frm
            -rw-rw---- 1 root root     32 Nov 22 14:47 users00.par
            lrwxrwxrwx 1 root root     24 Nov 22 14:47 users00#P#p0.MYD -> /data00/users00#P#p0.MYD
            lrwxrwxrwx 1 root root     24 Nov 22 14:47 users00#P#p0.MYI -> /data00/users00#P#p0.MYI
            lrwxrwxrwx 1 root root     24 Nov 22 14:39 users00#P#p1.MYD -> /data00/users00#P#p1.MYD
            lrwxrwxrwx 1 root root     24 Nov 22 14:39 users00#P#p1.MYI -> /data00/users00#P#p1.MYI
            lrwxrwxrwx 1 root root     24 Nov 22 14:39 users00#P#p2.MYD -> /data00/users00#P#p2.MYD
            lrwxrwxrwx 1 root root     24 Nov 22 14:39 users00#P#p2.MYI -> /data00/users00#P#p2.MYI
            lrwxrwxrwx 1 root root     24 Nov 22 14:39 users00#P#p3.MYD -> /data00/users00#P#p3.MYD
            lrwxrwxrwx 1 root root     24 Nov 22 14:39 users00#P#p3.MYI -> /data00/users00#P#p3.MYI
            ....

            此時表數(shù)據(jù)已經(jīng)達到了物理分區(qū),這樣可以減少同一目錄的IO,同時由單表的3w記錄下降到了單表1w的數(shù)據(jù)量,這樣查詢起來效率更高

            5.
            分區(qū)的修改和合并

            以下是將p0分區(qū)再分割成2分區(qū)s0,s1的例子:

            mysql> alter table users00 reorganize partition p0 into( partition s0 values less than (3999) data directory='/data00/' index directory='/data00/', partition s1 values less than (10000) data directory='/data00/' index directory='/data00/' );
            Query OK, 0 rows affected (0.03 sec)
            Records: 0  Duplicates: 0  Warnings: 0

            mysql>
            分割成功,查看/data00/數(shù)據(jù)目錄:
            .....
            -rw-rw---- 1 root root   8620 Nov 22 15:01 users00.frm
            -rw-rw---- 1 root root     40 Nov 22 15:01 users00.par
            lrwxrwxrwx 1 root root     24 Nov 22 14:39 users00#P#p1.MYD -> /data00/users00#P#p1.MYD
            lrwxrwxrwx 1 root root     24 Nov 22 14:39 users00#P#p1.MYI -> /data00/users00#P#p1.MYI
            lrwxrwxrwx 1 root root     24 Nov 22 14:39 users00#P#p2.MYD -> /data00/users00#P#p2.MYD
            lrwxrwxrwx 1 root root     24 Nov 22 14:39 users00#P#p2.MYI -> /data00/users00#P#p2.MYI
            lrwxrwxrwx 1 root root     24 Nov 22 14:39 users00#P#p3.MYD -> /data00/users00#P#p3.MYD
            lrwxrwxrwx 1 root root     24 Nov 22 14:39 users00#P#p3.MYI -> /data00/users00#P#p3.MYI
            lrwxrwxrwx 1 root root     24 Nov 22 15:01 users00#P#s0.MYD -> /data00/users00#P#s0.MYD
            lrwxrwxrwx 1 root root     24 Nov 22 15:01 users00#P#s0.MYI -> /data00/users00#P#s0.MYI
            lrwxrwxrwx 1 root root     24 Nov 22 15:01 users00#P#s1.MYD -> /data00/users00#P#s1.MYD
            lrwxrwxrwx 1 root root     24 Nov 22 15:01 users00#P#s1.MYI -> /data00/users00#P#s1.MYI
            ......

            以下是合并s0s1分區(qū)為p0分區(qū)

            mysql> alter table users00 reorganize partition s0,s1 into( partition p0 values less than(10000) data directory="/data00/" index directory="/data00/");
            Query OK, 0 rows affected (0.03 sec)
            Records: 0  Duplicates: 0  Warnings: 0

            此時s0s1又合并成了p0分區(qū)
            ....
            -rw-rw---- 1 root root   8620 Nov 22 15:04 users00.frm
            -rw-rw---- 1 root root     32 Nov 22 15:04 users00.par
            lrwxrwxrwx 1 root root     24 Nov 22 15:04 users00#P#p0.MYD -> /data00/users00#P#p0.MYD
            lrwxrwxrwx 1 root root     24 Nov 22 15:04 users00#P#p0.MYI -> /data00/users00#P#p0.MYI
            lrwxrwxrwx 1 root root     24 Nov 22 14:39 users00#P#p1.MYD -> /data00/users00#P#p1.MYD
            lrwxrwxrwx 1 root root     24 Nov 22 14:39 users00#P#p1.MYI -> /data00/users00#P#p1.MYI
            lrwxrwxrwx 1 root root     24 Nov 22 14:39 users00#P#p2.MYD -> /data00/users00#P#p2.MYD
            lrwxrwxrwx 1 root root     24 Nov 22 14:39 users00#P#p2.MYI -> /data00/users00#P#p2.MYI
            lrwxrwxrwx 1 root root     24 Nov 22 14:39 users00#P#p3.MYD -> /data00/users00#P#p3.MYD
            lrwxrwxrwx 1 root root     24 Nov 22 14:39 users00#P#p3.MYI -> /data00/users00#P#p3.MYI
            ....

            詳細的分區(qū)信息及功能介紹請參考mysql參考手冊,里面有非常詳細的介紹,我這里只是簡單的實現(xiàn),很多地方都不夠詳細,只作為數(shù)據(jù)庫分表及數(shù)據(jù)分離的參考

            posted on 2009-06-09 13:43 肥仔 閱讀(1631) 評論(0)  編輯 收藏 引用 所屬分類: 數(shù)據(jù)庫

            久久国产精品99精品国产987| 亚洲女久久久噜噜噜熟女| 欧美亚洲国产精品久久| 四虎国产精品成人免费久久| 久久久久久午夜成人影院| 久久久亚洲欧洲日产国码二区| 久久人人爽人人爽人人av东京热| 亚洲伊人久久成综合人影院| 国产99久久久国产精免费| 久久精品国产亚洲精品| 一级a性色生活片久久无| 精品国产乱码久久久久久呢| 久久久久久噜噜精品免费直播| 精品久久人人爽天天玩人人妻| 日本久久久久久久久久| 亚洲AV无码久久精品成人| 国产精品久久自在自线观看| 91精品国产91久久综合| 久久精品国产精品亜洲毛片| 久久影视国产亚洲| 2021久久国自产拍精品| 久久精品国产精品亚洲下载 | 国产精品成人久久久久三级午夜电影| 国产精品VIDEOSSEX久久发布| 三级韩国一区久久二区综合| 亚洲午夜福利精品久久| 久久99精品国产一区二区三区 | 久久久久亚洲av成人网人人软件| 久久午夜无码鲁丝片| 久久久久亚洲AV无码专区桃色| 99精品久久久久久久婷婷| 91精品国产91久久| 99久久精品国产免看国产一区| 日韩va亚洲va欧美va久久| 久久成人精品视频| avtt天堂网久久精品| 中文字幕无码av激情不卡久久| 99久久国产热无码精品免费久久久久| 精品久久久久久国产| 色综合久久久久综合体桃花网| 婷婷久久综合九色综合九七|