2014-08-27 71 views
0

我正在試驗跨多個磁盤分區非常大的(100M行)表以獲得空間並提高吞吐量。我安裝,格式化並將兩個1TB SAS磁盤作爲/ db1和/ db2安裝到我的Dell Poweredge服務器中以容納這些表。我的創建語句是(爲了簡潔起見省略了一些行):使用DATA DIRECTORY不移動表的MySQL分區表創建

DROP TABLE IF EXISTS allreads; 
CREATE TABLE allreads (
    uuid int(11) NOT NULL AUTO_INCREMENT, 
    sample_id int(11) NOT NULL, 
    uid int(11) NOT NULL, 
    rid char(100) NOT NULL, 
    seq text(1000) NOT NULL DEFAULT '', 
    v char(30) NOT NULL DEFAULT '', 
    d char(30) NOT NULL DEFAULT '', 
    j char(30) NOT NULL DEFAULT '', 
    c char(30) NOT NULL DEFAULT '', 
    pep char(100) NOT NULL DEFAULT '', 
    PRIMARY KEY (uuid,sample_id), 
    KEY index_v (v), 
    KEY index_j (j), 
    KEY index_cdr3 (pep) 
) ENGINE=InnoDB 
    AUTO_INCREMENT=1 
    DEFAULT CHARSET=utf8 
    PARTITION BY RANGE(sample_id) 
    SUBPARTITION BY HASH(uuid) (
     PARTITION p0 VALUES LESS THAN (4500) (
      SUBPARTITION p0a 
       DATA DIRECTORY='/db1/allreads' 
       INDEX DIRECTORY='/db1/allreads', 
      SUBPARTITION pob 
       DATA DIRECTORY='/db1/allreads' 
       INDEX DIRECTORY='/db1/allreads' 
    ), 
     PARTITION P1 VALUES LESS THAN (9000) (
      SUBPARTITION p1a 
       DATA DIRECTORY='/db2/allreads' 
       INDEX DIRECTORY='/db2/allreads', 
      SUBPARTITION p1b 
       DATA DIRECTORY='/db2/allreads' 
       INDEX DIRECTORY='/db2/allreads' 
    ) 
) 
; 

我從MySQL 5.5手冊中幾乎逐字讀取了分區位。

沒有獲取/ DB1或/ DB2創建分區的默認表空間

sudo ls -l /data/mysql/cdr3/ 
total 13530388 
-rw-rw---- 1 mysql mysql  13654 Aug 27 10:24 allreads.frm 
-rw-rw---- 1 mysql mysql   60 Aug 27 10:24 allreads.par 
-rw-rw---- 1 mysql mysql  147456 Aug 27 10:24 allreads#P#p0#SP#p0a.ibd 
-rw-rw---- 1 mysql mysql  147456 Aug 27 10:24 allreads#P#p0#SP#pob.ibd 
-rw-rw---- 1 mysql mysql 503316480 Aug 27 10:41 allreads#P#P1#SP#p1a.ibd 
-rw-rw---- 1 mysql mysql 503316480 Aug 27 10:41 allreads#P#P1#SP#p1b.ibd 
-rw-rw---- 1 mysql mysql   65 Aug 14 13:05 db.opt 

我看到錯別字的分區名稱拉閘,P1和POB,肯定不能吧。如果需要,我可以提供my.cnf行。

我看不出相對於手冊的陳述有任何問題。誰能告訴我我做錯了什麼?有沒有人得到這個功能的工作?

我使用5.5.38-0ubuntu0.14.04.1日誌(Ubuntu的)

回答

1

版38年5月5日不支持InnoDB的DATA DIRECTORY語句。將新磁盤重新格式化爲RAID,這樣問題就沒有意義了。

+0

+1兩點。只需使用帶有條帶的RAID。 – 2014-08-29 21:54:46